728x90
Lombok에서 @Builder 어노테이션 사용 시 필드 초기화를 하면 아래와 같은 경고가 발생하는 이유 및 해결방법!
warning: @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. If it is not supposed to be settable during building, make the field final.
DTO에서 @Builder 어노테이션과 함께 필드 초기화를 하면 위와 같은 경고가 발생한다.
해석하자면,
@Builder는 초기화 표현을 완전히 무시한다. 초기화 표현식으로 default를 설정하길 원한다면 @Builder.Default 를 추가하라는 것이다. 혹은 만약 해당 값을 중간에 setting 하지 않을 것이라면, final 필드로 선언하여 사용하면 된다.
(그럴 경우, @Builder는 final 필드를 무시하기 때문에 warning이 발생하지 않는다.)
해결!!
아래와 같이 필드 위에 @Builder.Default 를 붙여주면 해결된다!
728x90
'백엔드' 카테고리의 다른 글
[Swagger] 2. Swagger3에서 Group별로 Tag 설정하기(feat. OpenApiCustomiser) (0) | 2023.05.16 |
---|---|
[Checkstyle이란?] Google과 Naver에서 적용한 정책 비교(+정책설명) (0) | 2023.05.08 |
[Swagger3] 1. springdoc-openapi를 이용한 Swagger3 설정하기(+Swagger 옵션) (0) | 2023.05.05 |
[ELK] 2. Kibana에서 Teams WebhookURL로 에러 모니터링하기 (1) | 2023.03.13 |
[ELK] 1. Kibana에서 Slack Webhook 모니터링 설정하기 (1) | 2023.03.13 |
댓글