spring boot + gradle 게시판 프로젝트 환경설정 중 lombok 설치 후 어노테이션 적용했을 때
컴파일 오류는 없으나 getter setter가 활성화되지 않음
> bulid path 에 external jar로 lombok 추가 했지만 변화 없음
> eclipse ini 파일에 있는 -vmargs 아래 부분에 -javaagent:lombok.jar 추가해 준 뒤 IDE 재시작
> build clean > getter setter 확인
--------------------------------------------------------------------------------------------------------------------------------
spring boot에서는 spring-boot-starter-web에 기본적으로 Jackson 라이브러리가 내장되어 있어
Object <->JSON 간 변환은 자동으로 처리됨 (Jackson 라이브러리 :: 자바의 JSON 처리기)
** JSON(Javascript Object Notation)
key :value 쌍으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 포맷
ObjectMapper :: JSON 형식을 사용할 때, 응답들을 직렬화하고 요청들을 역직렬화 해줌
> 직렬화 (Serialize) Object -> String 문자열
:: 데이터를 전송하거나 저장할 때 바이트 문자열이어야 하기 때문에 객체들을 문자열로 바꾸어 주는 것
> 역직렬화(Deserialize) String 문자열 -> Object
:: 데이터가 모두 전송된 이후, 수신측에서 다시 문자열을 기존의 객체로 회복시켜주는 것
writeValueAsString :: 객체 > json 파싱
registerModule(new JavaTimeModule()) :: json으로 출력하려는 클래스에 LocalDateTime 타입의 필드가 있기 때문에 꼭 javaTimeMoudule로 매핑해주어야 함
--------------------------------------------------------------------------------------------------------------------------------
@RequiredArgsConstructor
스프링은 생성자로 빈(Bean)을 주입하는 방식을 권장하여 일반적으로 @Autowired 또는 @Inject 어노테이션을 이용하여 빈(Bean)을 주입받았었지만 해당 어노테이션은 롬복(Lombok)에서 제공하는 기능으로, 클래스 내에 final로 선언된 모든 멤버에 대한 생성자를 만들어줌
'기록' 카테고리의 다른 글
spring프로젝트_0912 (0) | 2022.09.12 |
---|---|
spring_프로젝트_0910 (0) | 2022.09.10 |
spring프로젝트_0908 (0) | 2022.09.08 |
spring프로젝트_0907 (0) | 2022.09.07 |
spring프로젝트_0906 (0) | 2022.09.06 |