이번 포스트에서는 lombok 설치 및 사용법에 대해서 알아보도록 하겠습니다.
프로젝트를 개발하다 보면 누구나 한 번쯤은 Getter/Setter 메서드를 생성하는걸 번거롭고 귀찮게 생각했을 것입니다. 또한 toString() 혹은 생성자 함수를 생성하는 것 또한 번거로울 것입니다. 개발의 생산성을 높이고 Getter/Setter를 생성하는 단순 반복 잡을 줄이고자 Lombok 라이브러리에 대해서 알아봅시다.
아래의 홈페이지를 접속하여 다운로드 합니다.
검색창에 [lombok]을 입력하고 첫 번째로 검색된 [Project Lombok]을 클릭합니다.
개인이 원하는 버전을 선택합니다. 저는 가장 최신 버전을 선택해보도록 하겠습니다.
Files 탭의 jar를 클릭하여 다운로드합니다.
다운로드 한 lombok 파일을 원하는 경로로 이동시킨 후 cmd를 실행시킵니다.
cmd창에 java -jar 개인이 설치한 버전.jar로 롬복 인스톨러를 실행시킵니다.
ex) 제가 설치한 lombok버전은 1.18.12이므로 java -jar lombok-1.18.12.jar를 입력합니다.
lombok 인스톨러를 실행시키면 아래와 같은 창이 뜹니다. [Specify location]을 클릭하여 개인이 설치된 IDE를 선택한 후 [install/update]를 클릭합니다.
install 후 개인의 IDE 폴더로 들어가면 lombok.jar 파일이 생성된 걸 확인할 수 있습니다.
STS(Spring Tool Suite)를 사용할 경우 SpringToolSuite.ini, 이클립스를 사용할 경우 eclipse.ini를 우클릭하여 편집기로 파일을 열면 lombok이 추가된 걸 확인할 수 있습니다.
Lombok을 사용하기 전후의 자바 클래스를 비교해 보겠습니다.
Lombok 사용하기 전 getters/setters 직접 명시한 클래스
public class User {
private String id;
private String userName;
private String email;
public String getId(){
return id;
}
public void setId(String id){
this.id = id
}
public String getUserName(){
return userName;
}
public void setUserName(String userName){
this.userName = userName;
}
public String email(){
return email;
}
public void setEmail(String email){
this.email = email;
}
}
Lombok 사용 후 @Getter, @Setter 명시한 클래스
@Getter
@Setter
public class User {
private String id;
private String userName;
private String email;
}
lombok은 @Getter/@Setter 이외에도 다양한 어노테이션을 지원합니다.
lombok을 사용하기 전 기본 생성자와 모든 필드 값을 받는 생성자를 명시한 클래스
public class User {
private String id;
private String userName;
private String email;
public User(){
}
public User(String id, String userName, String email){
this.id = id;
this.userName = userName;
this.email = email;
}
}
lombok을 사용 후 @NoArgsConstructor, @AllArgsConstructor를 명시한 클래스
@NoArgsConstructor
@AllArgsConstructor
@Data
public class User {
private String id;
private String userName;
private String email;
}
위에서 언급한 어노테이션 이외에도 다양한 어노테이션이 있지만 Lombok에 대한 설명은 이것으로 마치겠습니다. Lombok을 사용하여 단순하고 간결한 코드를 작성하여 가독성이 향상되고 필드값을 추가 및 삭제할 때도 getter/setter를 신경 쓸 필요가 없어 유지보수에도 큰 도움이 됩니다.
정독해주셔서 감사합니다. :)
아파치(Apache)와 톰캣(Tomcat)의 차이점 및 이해(1) (0) | 2020.07.03 |
---|---|
아파치 톰캣(Apache Tomcat) 다운 및 이클립스 연동(2) (0) | 2020.07.03 |
[STS/이클립스(Eclipse)] SVN 설치 및 연동 - 티스토리 (0) | 2020.07.02 |
[JAVA] 자바 설치 및 개발 환경설정 - 에스제이 - 티스토리 (0) | 2020.06.30 |