Lombok
Lombok 이란
- 여러 가지 어노테이션을 기반으로 코드를 자동완성해 주는 java 라이브러리.
- Byte code로 컴파일하는 과정에서 어노테이션을 이용해 코드를 생성.
- 반복되는 코드 작성을 줄여주고, 생산성 향상 및 유지보수 용이.
- 직관성이 비교적 떨어질 수 있고, 러닝 커브 존재.
예시
- @Getter, @Setter
- 클래스의 모든 변수 혹은 특정 변수에 대한 getter 및 setter를 자동완성해 줌.
- @AllArgsConstructor
- 모든 변수를 사용하는 생성자를 자동완성해 줌.
- @NoArgsConstructor
- 아무 변수도 사용하지 않는 생성자를 자동완성해 줌.
- @RequiredArgsConstructor
- 특정 변수만을 활용하는 생성자를 자동완성해 줌. @Nonnull 어노테이션이 있거나 final이 있는 변수를 대상으로 함.
- @EqualsAndHashCode
- 클래스에 대한 equals 함수와 hashCode 함수를 자동완성해 줌.
- @ToString
- 클래스의 변수들에 대해 ToString 메소드를 자동완성해 줌.
- @Data
- @ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredConstructor를 합친 어노테이션.
- @Builder
- 해당 클래스의 객체에 Builder 패턴을 적용해 줌.
- @Delegate
- @Log4j2
References
- https://dololak.tistory.com/783
- https://mangkyu.tistory.com/78