티스토리 뷰
안녕하세요. 오늘은 매번 프로젝트를 진행하면서 Domain, DTO, VO를 만들어서 Getter/Setter를 만들었어야 했는데,
그 일을 자동으로 해주는 Lombok에 대해서 포스팅 해보려고 합니다.
매번 Getter/Setter를 만들어 줘야 되는 것을 대신해 주기 때문에 불필요한 시간을 좀 더 절약할 수 있습니다.
우선, 설치법에 대해서 알려드리겠습니다. 설치는 직접 다운로드 받아서 설치하셔도 되고, 메이븐을 통해서 dependency를
추가해 주는 방법이 있습니다.
직접 다운로드 링크 : https://projectlombok.org/download.html
Maven Dependency 추가
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.14</version>
</dependency>
다운로드 받은 lombok.jar 파일을 실행해 보시면 다음과 같은 화면이 나옵니다.
그리고 나서 sts나 eclipse를 잡아주고 설치를 해주시면 다음과 같이 Install Successful이라는 말과 함께 설치가 끝나는 것을 확인할 수 있습니다.
그럼 lombok을 사용하기에 앞써 lombok에서 제공하는 어노테이션에 대해서 알아보겠습니다.
@Data |
모든 필드에 대한 getter, setter, toString, equals, hashCode, final로 지정되어 있거나 @NonNull로 명시된 필드에 대한 값을 받는 생성자 메소드 코드를 생성한다. |
@Getter/@Setter |
Getter와 Setter 함수를 생성한다. 일반적으로 get필드명, set필드명의 메소드가 생성된다. 접근 레벨을 지정해서 접근 레벨을 제한할 수 있다. - PUBLIC, PROTECTED, PACKAGE, PRIVATE ex) Getter(AccessLevel.PUBLIC) |
@EqualsAndHashCode |
코드에서 객체의 비교 등의 용도로 사용되는 equals(), hashCode() 메소드의 코드를 생성한다. 특정 필드는 제외할 수 있다. ex) EqualsAndHashCode(exclude={"VARIABLE1", "VARIABLE2"}) |
@ToString |
객체의 내용을 문자열로 변환해주는 toString() 메소드를 생성한다. 특정 변수를 제외할 수 있다. ex) ToString(exclude={"VARIABLE1"}) |
@Log |
자동으로 logging을 위한 필드인 private static final Logger logger 를 추가해준다. Log4j를 사용하여 출력해준다. |
@Slf4j |
자동으로 logging을 위한 필드인 private static final Logger logger 를 추가해준다. Slf4j를 사용하여 출력해준다. |
@AllArgsConstructor |
모든 필드에 대한 값을 받는 생성자를 생성한다. 접근제어 : AccessLevel 지정을 통해서 접근레벨을 제한할 수 있다. |
우선, 프로젝트 우 클릭 > Properties > Java Build Path > Libraries에서 Add External JARs를 눌러서 lombok.jar 파일을 추가해줍니다.
lombok에 사용하는 어노테이션에 대해서 알아보았고 적용된 코드는 아래와 같다.
import lombok.Data;
@Data
public class LombokTest {
private Integer id;
private String name;
private Integer phonenumber;
private String address;
private Integer postcode;
private String content;
}
잘 적용된 것을 확인할 수 있습니다. 나머지 어노테이션도 상황에 맞게 사용하시면 불필요한 작업을 줄여줌으로써 코드를 짤 때,
조금 더 효율을 높여줄 것이라고 생각합니다. 이것으로 lombok에 대한 포스팅을 마치도록 하겠습니다.
- Total
- Today
- Yesterday