Lombok 라이브러리는 VO 나 DTO 사용 시 코드를 줄여주는 라이브러리이다.
앞의 예제로 얼마나 많이 줄여주는지 확인해보자.
앞의 과정을 진행하면서 사용했었던 BaseInfoVO 클래스이다.
이를 Lombok 을 사용하여 코드를 줄여보겠다.
getter, setter 메소드가 모두 사라진 것을 볼 수 있다.
물론 [ALT] + [SHIFT] + [S] → [R] 로 자동생성을 할 수 있긴 하지만 변수가 많아질수록 코드의 길이는 매우 길어질 것이다.
이런 점 때문에 Lombok을 많이 사용하고 있다.
그럼 Lombok 사용법을 알아보자
먼저 Lombok을 다운받기 위해 아래의 사이트에 접속한다.
사이트에 접속하면 위의 다운로드 버튼을 누른다.
위의 다운로드 버튼을 누르면 lombok.jar 파일이 다운받아진다.
다운받은 lombok.jar 을 실행시키면 위와 같이 IDE를 검색한다.
만약 검색되지 않았다면 좌측 하단의 [Specify location...] 을 클릭하여 자신의 IDE를 선택하면 된다.
나는 eGovframework의 eclipse를 선택하였다.
위와 같이 선택을 했다면 우측 하단의 [Install / Update] 버튼을 클릭한다.
Install successful 창이 떴다면 [Quit Installer] 을 클릭하여 닫아준다.
자신이 선택한 IDE의 경로에 lombok.jar 파일이 생성되었는지 확인한다.
파일이 제대로 생성되었다면 이제 IDE로 이동하여 의존성을 주입한다.
[ Gradle ]
dependencies {
/*Lombok*/
compileOnly 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.10'
}
[ Maven ]
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>
만약 Maven의 dependency를 추가했는데 어노테이션이 추가가 되지 않는다면
[maven-compiler-plugin] 을 아래와 같이 수정하면 된다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<annotationProcessors>
<annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
</annotationProcessors>
</configuration>
</plugin>
의존성 주입까지 완료했다면 이전 프로젝트에서 사용했던 getter/setter을 제거하고 @Data 어노테이션을 추가하면 된다.
위와 같이 @Data 어노테이션을 추가했다면 Outline에 여러 메소드가 생성된 것을 확인할 수 있다.
출처: https://aljjabaegi.tistory.com/481 [알짜배기 프로그래머]