
까뮈의 개발 노트

Springboot와 OAuth2.0 사용한 네이버 로그인 연동시 yaml parsing error 해결
이동욱님의 스프링부트와 AWS로 혼자 구현하는 웹서비스를 보면서 네아로 소셜로그인 연동을 하던 중, 책의 예제인 .properties를 .yml파일로 바꿔서 적용 시키고 있었는데, 메인 어플리케이션 구동시, 자꾸만 yaml파일 parsing error를 내뱉었다. 작성중인 yaml 파일은 아래와 같다. 구글과 달리, 네이버는 Spring Security를 공식적으로 지원하지 않아서, Common-OAuth2Provider에서 알아서 해주던 설정을 따로 추가해줘야 한다. 위와 같은 에러 메세지를 뿜고 있다. yaml.snakeyaml.parser.ParserException: while parsing a block mapping작성된 구문에 오류가 있어, yaml을 파싱하는 과정에서 오류가 생겼다는 건데...

JPA 기본키 생성 전략, @GeneratedValue 사용시 주의점
JPA로 테이블과 엔티티를 매핑할 때, 식별자로 사용할 필드 위에 @Id 어노테이션을 붙여 테이블의 Primary Key와 연결 시켜줘야한다. 이 때, 컬럼 명을 따로 지정하지 않으면, 관례에 따라 매핑되는 테이블 컬럼명은 camelCase로 작성된 필드명을 snake_case로 바뀐 테이블 컬럼을 찾아서 매핑시켜준다. ex) memberId -> member_id , orderItemId -> order_item_id @Column 어노테이션을 활용하여 테이블의 pk 컬럼을 따로 지정할 수도 있다. public class Member { @Id @Column(name = "member_id") // 컬럼명 따로 지정 private Long id; } 이렇게 @Id로 식별자필드와 테이블의 PK를 매핑만 ..

IntelliJ에서 자동정렬 시 짧은 어노테이션 뒤에 줄바꿈 방지
Spring과 Lombok을 사용하다보면 위 그림 처럼 @AutoWired 라든지, @Getter, @Setter처럼 짧은 어노테이션을 사용할 일이 많다. 그런데 자동정렬 기능을 사용하면 아래 그림처럼 짧은 어노테이션들이 모두 한 줄씩 차지하게 되어 보기 코드가 보기 싫어지게 포맷된다. 짧은 어노테이션은 따로 한 줄을 차지 하지 않도록 자동 포매팅 속성을 바꾸려면, Settings - Code Style - Java - Field annotations 속성을 Wrap if long 으로 바꿔주고, 그 하위 속성인 Do not wrap after single annotation 에 체크해주면, 짧은 어노테이션은 변수명과 같이 붙어서 보기 좋게 자동정렬이 된다.