Lombok
java 라이브러리로 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리다.
Lombok은 여러가지 어노테이션을 제공하고 이를 기반으로 코드를 컴파일과정에서 생성해 주는 방식으로 동작하는 라이브러리다. 즉 코딩 과정에서는 롬복과 관련된 어노테이션만 보이고 getter와 setter 메서드 등은 보이지 않지만 실제로 컴파일된 결과물(.class)에는 코드가 생성되어 있다는 뜻입니다.
일반 JAVA 코드 VS Lombok 적용
일반 java 코드
public class CategoryModel {
private String id;
private String parentId;
private String name;
private Long depthLevel;
private Long seq;
private String userYn;
public CategoryModel() {}
public CategoryModel(String id, String parentId, String name, Long depthLevel, Long seq, String userYn) {
super();
this.id = id;
this.parentId = parentId;
this.name = name;
this.depthLevel = depthLevel;
this.seq = seq;
this.userYn = userYn;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getDepthLevel() {
return depthLevel;
}
public void setDepthLevel(Long depthLevel) {
this.depthLevel = depthLevel;
}
public Long getSeq() {
return seq;
}
public void setSeq(Long seq) {
this.seq = seq;
}
public String getUserYn() {
return userYn;
}
public void setUserYn(String userYn) {
this.userYn = userYn;
}
@Override
public String toString() {
return "CategoryModel [id=" + id + ", parentId=" + parentId + ", name=" + name + ", depthLevel=" + depthLevel
+ ", seq=" + seq + ", userYn=" + userYn + "]";
}
}
Lombok 적용된 코드
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class CategoryModel {
private String id;
private String parentId;
private String name;
private Long depthLevel;
private Long seq;
private String userYn;
}
Lombok은 복잡하고 반복되는 코드가 줄어듦으로써 코드의 가독성을 높일 수 있고 코딩 생산성 또한 높일 수 있다.
다만 Lombok이 개발자마다 호불호가 나뉘는 라이브러리로 특정 개발자들은 코드가 직접 눈에 보임으로써 직관성을 유지하는것이 좋다고 보는 의견도 있는 만큼 자신의 프로젝트나 프로젝트 리더의 성향에 따라 사용하면 좋을 것 같습니다.
Lombok 적용 방법
1. 공식 홈페이지 에서 다운로드 받는다.
파일은 이클립스가 설치된 곳으로 받는다.
java pom.xml에 추가해 주자
그다음 cmd 창으로 lombok.jar 파일을 실행 시키자
install / update 클릭시 완료 된다.
그다음 이클립스 재실행 및 Maven Build 및 업데이트 하고 실행하면
logBack을 사용하지 않고 lombok을 사용해서 log.info("~~"); 같은 형태로 출력을 할수가 있게 된다.