springboot

    [Github Actions] github actions로 Spring Boot secrets 관리 (application.yml)

    [Github Actions] github actions로 Spring Boot secrets 관리 (application.yml)

    gitignore로 DB나 AWS의 민감 정보들을 숨겨놓은 후, github actions를 활용하여 gradle build를 진행할 때 secrets를 활용해서 빌드를 성공하는 방법이다. cloud: aws: s3: bucket: ${S3_BUCKET} credentials: access-key: ${S3_ACCESS_KEY} secret-key: ${S3_SECRET_KEY} region: static: ${S3_REGION} auto: false stack: auto: false 먼저 aws S3 관련 설정을 application.yml에 다음과 같이 넣어두었다. application-private.yml 파일에 민감정보들을 담아두고 gitignore로 깃헙에 업로드되지 않게 하였다. reposit..

    [Spring Boot & MySQL] 날짜 타입 저장하기 (LocalDateTime, Timestamp)

    프로젝트 진행 중 datetime을 저장하기 위한 타입 간의 설정이 맞지 않아서 애를 먹었다. 처음에는 MySQL: TIMESTAMP, Java: LocalDateTime으로 설정하였는데 MySQL의 timezone을 로컬에서만 서울로 설정해서 문제가 났다. 해결: application.properties의 sql timezone을 Asia/Seoul로 설정 spring.datasource.url=jdbc:[sql주소]?serverTimezone=Asia/Seoul&characterEncoding=UTF-8 이렇게 바꿔주면, timestamp로 저장한 값도 현재 시간으로 잘 설정되고 LocalDateTime.now() 도 문제없이 작동한다. 그렇다면 왜 Java에서 LocalDateTime을 쓰는 게 좋..

    [Spring Boot] Java DateTime Json 입력 시 400 error

    @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date Json에 입력한 날짜를 String으로 인식하여 LocalDate와 연결이 되지 않는다. 컨트롤러에 해당 매핑을 추가하면 정상적으로 데이터를 조회할 수 있다.

    [intellij/spring] 인텔리제이 spring boot annotation "Cannot read symbol"

    git에서 clone한 후에 자바 버전이 스프링부트와 맞지 않아서 자바 버전을 다시 설정했음에도 스프링 부트의 annotation들을 읽지 못하는 문제가 발생했다. 1. file → invalidate caches → restart 2. java 버전 다시 설정 3. intellij 업데이트 순서대로 해봤더니 인텔리제이 버전을 업데이트하니까 해결되었다. intellij의 시스템 폴더도 삭제해보고, maven update도 해봤는데 인텔리제이 버전 문제였던 것 같다!

출처: https://gmnam.tistory.com/157 [Voyager:티스토리]