Lombok 이란?
Lombok은 애너테이션을 기반으로 constructor
, getter
, setter
등 반복적으로 작성해야 하는 메서드를 자동으로 생성하는 라이브러리입니다.
Model
이나 Entity
같은 도메인 클래스에서 반복되는 코드를 @
어노테이션을 이용하여 간단하게 적용할 수 있습니다.
개발자는 어노테이션만 사용하면 컴파일 되는 과정에서 자동으로 그에 맞는 코드들을 생성해줍니다.
Lombok 을 사용하지 않는 클래스
class Person {
private String name;
private Integer age;
public Person() { }
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
"age='" + age + '\'' +
'}';
}
}
클래스에 필요한 메서드들을 직접 입력해야 합니다.
(요즘은 IDE 의 도움을 받아 자동으로 Generate 할 수 있습니다)
Lombok 을 사용하는 클래스
@ToString
@Getter
@Setter
class Person {
private String name;
private Integer age;
}
롬복을 사용하면 위와 같이 코드를 간단하게 줄일 수 있으며 어떤 롬복이 구현되어있는지 어노테이션만 보고도 확인할 수 있습니다.
Lombok 의 더 많은 종류와 기능을 확인하시려면 Reference 의 활용법 링크를 참고해주세요.
장점
- 코드의 길이가 짧아진다.
- 사용하려는 어노테이션이 명시적이다.
단점
- Lombok 을 모르는 사람들에게는 한눈에 와닿지 않고 어노테이션의 무분별한 사용은 오히려 가독성을 해칠 수 있다.
- Lombok 을 제대로 이해하지 않고 코드를 작성하거나 수정하면 의도치 않은 결과를 얻을 수 있다. (아래 Reference 의 주의점 링크 참고)
'Framework > Spring' 카테고리의 다른 글
[Spring] JUnit 5 에서 @Nested 와 @DisplayName 으로 가독성 있는 테스트 코드 작성하기 (1) | 2021.01.26 |
---|---|
[Spring] @Before @BeforeClass @BeforeEach @BeforeAll (0) | 2020.11.24 |
[Spring] Property 값 주입 (1) | 2020.11.09 |
[Spring] IoC, DI (1) | 2020.11.09 |
[Spring] JPA (Java Persistence API) (0) | 2020.11.09 |