롬복이란
@Getter
@Setter
@NoArgsConstructor
@ToString
@AllArgsConstructor
public class Employee {
private Integer employeeNumber ;
private String lastName ;
private String firstName ;
private String extension ;
private String email ;
private String officeCode ;
private Integer reportsTo ;
private String jobTitle ;
}
위와같은 Employee 클래스에서 getter, setter, toString, 생성자 등을 직접 만들지 않고 @Annotation을 추가하는 것만으로
만들어 주는 라이브러리이다.
롬복은 단순히 Annotation을 이용해서 코드를 작성해주는 라이브러리이므로 각 API가 어떤식으로 작동하는지 숙지한 채로
사용하는 것이 좋다. 다른 라이브러리와 충돌이 발생할 수도 있고 내가 원하지 않는 방식으로 작동할 수도 있기 때문이다.
예를 들어 @Data나 @ToString의 경우 순환 참조 또는 무한 재귀 호출로 인해 StackOverFlowError가 발생할 수도 있다.
다만 이런 문제들에도 불구하고 lombok은 끊임없이 발전하고 있고 점점 lombok을 사용하는 개발자들이 많아지고 있기
때문에 한번쯤은 사용해봐야 할 라이브러리이다.
롬복 설치
롬복은 다른 라이브러리처럼 lib만 추가해서 사용할 수 있는 라이브러리가 아니다.
(만약 그랬다면 훨씬 더 많은 개발자들이 사용했겠지...)
Maven repository에서 lombok을 검색 한 후 원하는 버전의 jar파일을 다운받는다.
lombok.jar파일을 더블클릭해 실행하면 다음화면이 나온다.
Specify location을 클릭한 후 현재 사용하고 있는 tool( eclipse,intellij 등)의 위치를 선택하고 확인버튼을 누른다
그 후 insertall/update버튼을 누른다
설치가 잘 되었다면 다음과 같이 화면이 뜬다.
이렇게 lombok을 설치 했다면 다른 라이브러리처럼 lib에 추가해주면 된다.
Spring의 경우 pom.xml에 dependecy에 추가해주자.
<!--Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
※만약 롬복이 적용이 안된다면 eclipse위치로 가서 eclipse.ini를 실행합니다.
그리고 다음의 내용을 추가합니다. (절대경로로 추가해도 됩니다.)
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
롬복 사용하기
@Getter
@Setter
@NoArgsConstructor
@ToString
public class Employee {
private Integer employeeNumber ;
private String lastName ;
private String firstName ;
private String extension ;
private String email ;
private String officeCode ;
private Integer reportsTo ;
private String jobTitle ;
}
위에처럼 @Annotation만 붙이면 된다. 위에서 사용한 @Annotation외에 더 많은 @Annotation이 있지만
이는 lombok을 사용하면서 하나하나 익히면 됩니다.
위에처럼 @Annotation을 붙였다면 자동완성을 지원해줍니다.
또 get/set메소드를 썻을 때 컴파일에러도 나지 않으면 설치가 잘 된거라고 볼 수 있습니다.