공부/Java
Java_17_Lombok 활용
오피스엑소더스
2019. 7. 26. 11:43
1. Lombok?
2. 사용 방법
3. 주의사항
1. Lombok?
1. Java에서 DTO, VO, Domain 등 Object를 만들 때 쉽게 작업하기 위해 도와주는 라이브러리
2. 기능
> getter/setter 자동 생성
> 생성자 자동 생성
> toString 자동 생성
2. 사용 방법
1. 다운로드 및 적용
> jar 다운로드 : http://projectlombok.org/download.html
- 콘솔에 java -jar lombok.jar 입력
> Maven : pom.xml에 dependency 추가
> Gradle : build.gradle에 dependency 추가
2. 어노테이션 활용
> @Data
- 아래 어노테이션 모두 포함
- @ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor
3. 주의사항
1. 요약
> 개인 프로젝트가 아닌 경우 가급적 @Getter, @Setter, @ToString, @Builder만 사용
> @AllArgsConstructor, @RequiredArgsConstructor
- 문제 : 생성자 부분에 리팩토링(수정) 시 오류 발생 없이 왜곡된 데이터가 사용될 가능성이 있음
- 대처 : 사용 지양, Builder 활용 권장
> @EqualsAndHashCode
- 문제 : 필드 값이 변경되었을 때 변경 전과 변경 후의 HashCode가 달라지기 때문에 올바르지 않은 값이 산출된다.
- 대처 : 사용 지양
- 동등성 비교에 필요한 필드를 명시하는 형태로 사용 > @EqualsAndHashCode(of={"필드명시"})
> @Data
- 문제 : 위 애노테이션을 모두 포함하고 있음
- 대처 : 사용 지양
참고 : https://kwonnam.pe.kr/wiki/java/lombok/pitfall