-
[Lombok] STS에 lombok 적용하기Programming Language/Spring 2018. 11. 19. 13:54반응형
[Lombok] STS에 lombok 적용하기
※ lombok
자바 개발자들에게 Getter/Setter 메소드를 생성하거나 toString() 혹은 생성자 함수를 생성하는 등의 작업은 번거롭고 귀찮은 작업이다.
다만, 이러한 작업이 너무나 반복적으로 필요하기 때문에 개발의 생산성을 높이고 싶다면 Lombok 을 이용해 단순 반복 작업을 자동화함으로써 개발 시간을 단축할 수 있다.
| Lombok 이란
Lombok은 자바에서 @Getter, @Setter 같은 annotation 기반으로 기존 DTO, VO, Domain Class 등을 작성할 때, 멤버 변수에 대한 Getter/Setter Method, Equals(), hashCode(), ToString()과 멤버 변수에 값을 설정하는 생성자 등등을 자동으로 생성해주는 라이브러리이다.
| 기존의 Lombok 을 사용하지 않은 코드
| Lombok 을 사용한 코드
| Lombok 라이브러리 설치
Lombok 라이브러리를 이용해서 코드를 개발하기 위해서는 사전에 다음과 같은 설정이 필요하다.
- Eclipse 자체에 Lombok 라이브러리 설정
- Lombok 이 필요한 프로젝트에 라이브러리 추가
| Lombok 을 STS에 적용하기
1. Lombok 사이트 (https://projectlombok.org/)에서 lombok.jar 파일을 다운로드 받는다. 설치를 위해 현재 실행 중인 Eclipse (STS)는 종료한다.
2. 다운로드한 폴더에서 java -jar lombok.jar 를 이용해서 파일을 실행한다.
3. 프로젝트의 pom.xml 에 lombok 라이브러리를 추가한다.
4. 간단한 SampleVO 클래스를 만든다.
5. Controller 에 메소드를 추가한다.
6. 스프링 부트를 실행한 후 브라우저에서 결과를 확인한다.
| Lombok 의 어노테이션
@NonNull : Null 값이 될 수 없다는 것을 명시
@Cleanup : 자동으로 close() 메소드를 호출
@Getter/Setter : 코드가 컴파일될 때 속성들에 대해서 Getter/Setter 메소드들을 생성
@ToString : toString() 메소드를 생성
@EqualsAndHashCode : 해당 객체의 equals() 와 hashCode() 메소드를 생성
@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor : 파라미터를 받지 않는 생성자를 만들어주거나(@NoArgsConstructor), 지정된 속성들에 대해서만 생성자를 만들거나(@RequiredArgsConstructor), 모든 속성들에 대해서 생성자를 만든다(@AllArgsConstructor)
@Data : @ToString, @EqualsAndHashCode, @Getter(모든 속성), @Setter(final 이 아닌 속성), @RequiredArgsConstructor를 합쳐둔 어느테이션
@Value : 불변 클래스를 생성
@Log : 자동으로 생기는 log 라는 변수를 이용해서 로그를 찍을 수 있음
@Builder : 빌더 패턴을 사용할 수 있도록 코드를 생성. new AA().setA().setB().setC() 와 같이 체이닝을 할 수 있는 코드를 생성
@SneakyThrows : 예외 발생 시 Throwable 타입으로 반환
@Synchronized : 메소드에서 동기화를 설정
@Getter(lazy=true) : 동기화를 이용해서 최초 한 번만 getter를 호출
반응형'Programming Language > Spring' 카테고리의 다른 글
[Spring] 스프링 빈(Bean) (0) 2022.05.31 [Spring] 스프링 주요 어노테이션 정리 (0) 2021.09.13 Spring-MyBatis Connection 설정 (0) 2018.11.01 Spring - MySQL 연동 설정 (0) 2018.11.01 STS(Spring Tool Suite) 유용한 단축키 (0) 2018.04.24