개발(합니다)/Java&Spring
[spring boot 설정하기-2] Lombok 설정 및 사용 방법
otrodevym
2021. 4. 3. 00:00
반응형
Intellij 사용자라면 Lombok plugin 설치와 Enable annotation processing 설정이 완료되어야 합니다.
1. Lombok(롬복)이란?
개발을 하면서 데이터를 담기 위해 객체를 만드는 VO/DTO/Domain 객체를 생성합니다.
생성한 객체를 효율적으로 사용하기 위해 getter/setter, toString, Builder를 만드는 과정이 매번 발생합니다.
이러한 객체들이 자주 사용하는 기능을 어노테이션으로 쉽게 설정할 수 있는 기능을 제공하는게 lombok입니다.
2. Lombok 의존성 추가 및 설정
2-1. 의존성 추가
https://projectlombok.org/setup/gradle
해당 사이트에 들어가면 gradle에서 설정하는 방법을 확인할 수 있습니다.
의존성을 추가한 후 gradle을 load gradle changes를 합니다.
(소스 오른쪽에 코끼리를 눌러주시면 됩니다.)
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.16'
annotationProcessor 'org.projectlombok:lombok:1.18.16'
testCompileOnly 'org.projectlombok:lombok:1.18.16'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.16'
}
2-2. 의존성 추가 확인
common 패키지와 CommonTest.java를 생성하여 의존성이 잘 적용되었는지 확인합니다.
private String text; 를 추가하고 @Builder를 추가하여 lombok이 적용되었는지 확인합니다.
3. Lombok 어노테이션 설명
어노테이션 | 설명 | 세부 설정 |
@Getter @Setter |
Getter 메서드 자동 생성 Setter 메서드 자동 생성 |
- lazy : 지연 호출로 동기화를 이용하여 1번만 호출 - AccessLevel : 접근 제한 레벨 설정 |
@ToString | ToString 메서드 자동 생성 | - callSuper : 상위 클래스 toString 호출 여부 - exclude : 출력하지 않을 필드명 입력 - includeFieldNames : 필드명 생략 여부 |
@Data | @ToString, @EqaulsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor 자동생성 | |
@EqualsAndHashCode | equals, hashcode 메서드 자동생성 | - of : 포함할 필드 - exclude : 제외할 필드 |
@Val | class로 final 키워드 대신 사용하는 변수 | |
@NonNull | Null 일 경우 NullPointerException 발생 | |
@Cleanup | 자동 리소스 관리로 close() 메서드 관리 | |
@NoArgsConstructor | 인자 없는 생성자 생성 | |
@RequriedArgsConstructor | 필수 인자를 가지는 생성자 생성 | |
@AllArgsConstructor | 모든 인자를 가진 생성자 생성 | |
@Value | 불변 선언 | |
@Builder | Builder API 지원 | |
@SneakyThrows | Exception 발생시 체크된 Throable로 전달 | |
@Synchronized | 메서드 동기화 Lock 설정 | |
@Log | 로그를 설정 | - 기본 변수명 : Log이며 config 파일 설정 후 명칭 변경 가능 - 로그 종류 : @Log, @Slf4j, @CommonLog, Xslf4j, JBossLog 등 |
반응형