lombok.config #2 @Data 사용하지 않기

• @Data 어노테이션은 @ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor를 한번에 사용하는 강력한 어노테이션이지만, 무분별한 사용은 객체의 안전성을 보장받기 힘들게 하며, 양방향 연관관계에서 순환 참조 문제를 일으킬 수 있다.
• @RequiredArgsConstructor 어노테이션은 final 키워드를 사용한 인스턴스만 Bean 객체로 등록하며, 사용하지 않을 경우 NullPointerException이 발생할 수 있다.
• 스프링에서는 생성자 주입을 추천하며, 이를 위해 @RequiredArgsConstructor 어노테이션을 사용한다. 이는 의존성을 주입받은 객체가 프로그램이 끝날 때까지 변하지 않는 불변성을 가지기 때문이다.
• lombok.config 설정 파일을 통해 위험 부담이 있는 Lombok 어노테이션을 제한할 수 있으며, 각자의 환경과 상황에 맞게 Lombok을 사용하는 것이 바람직하다.

북마크
공유하기
신고하기