Lombok(롬복)이란
Lombok(롬복)은 소스가 깔끔한 것을 선호하는 사람이 좋아할 법한 라이브러리이다. getter, setter와 같이 반복되는 형태의 코드를 줄여주는 역할을 한다. 예를 들어 @Getter, @Setter와 같이 어노테이션(Annotation)으로 선언만 하면 그 기능을 함축적으로 갖고 있게 된다.
1. Lombok 라이브러리 다운받기
Lombok 사이트에 들어가서 jar 파일을 직접 설치하자. 2022년 5월 기준으로 최신 버전은 1.18.24이다.
파일의 다운로드가 완료되었으면, 이클립스 또는 STS가 설치된 경로에 lombok.jar를 붙여넣은 후 해당 파일을 실행한다.
그러면 인스톨러 창이 실행이 될 것이다. 아래와 같이 내 PC에서 IDE를 찾을 수 없다는 경고창이 나오더라도 OK를 눌러 닫으면 된다.
[Specify location...] 버튼을 클릭하여 이클립스 또는 STS가 설치된 경로에서 실행 파일을 선택한다.
그러면 아래와 같이 IDEs 목록에 선택한 실행 파일이 추가된다. 이제 Install/Update 버튼을 클릭한다.
롬북이 바로 설치된다. 설치 성공했다는 메세지가 뜬다면 [Quit Installer]를 눌러 창을 닫는다. 만약 설치 여부를 확인하고 싶다면 이클립스의 eclipse.ini 파일을 열어 -javaagent:C:\dev\eclipse\lombok.jar 와 같은 명령어가 추가되어 있으면 된다.
2. Lombok 적용하기
여기까지만 하고 롬북을 바로 사용할 수 있으면 편하겠지만, 소스 상에서 롬북이 인식을 하려면 한단계를 더 거쳐야 한다. Lombok 사이트의 Install 메뉴를 보면 Lombok을 설치할 수 있는 다양한 방법이 있다. 나는 메이븐을 이용하여 설치하려고 한다. 간단하게 의존성을 추가하자.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
위와 같이 작성하면 각자의 Maven repository에 롬북이 저장되었을 것이다.
3. Lombok 사용하기
이제 롬북을 사용해보자. 아래와 같이 @Getter @Setter를 입력하면 getter, setter가 자동으로 생성된다.
(롬복이 적용되지 않는다면 이클립스를 껏다 켜보자)
이번에는 @Data를 사용해보자. 해당 어노테이션은 많은 것들을 한꺼번에 설정해주는 끝판왕이라고 보면 된다. (@Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode을 한꺼번에 설정해준다)
롬북에서 사용중인 기능들은 lombok features에서 제공중이며, lombok API를 참고하여 자신이 사용하고자 하는 롬북 기능을 잘 활용하면 깔끔하게 소스가 관리될 것이다 :)
아래는 자주 쓰이는 어노테이션을 정리한 표이다.
어노테이션 | 설명 |
@Getter | 클래스의 모든 필드에 대한 getter 메서드 생성 |
@Setter | 클래스의 모든 필드에 대한 setter 메서드 생성 |
@ToString | 클래스의 toString() 메서드 생성 |
@EqualsAndHashCode | 클래스에 대한 equals() 및 hashCode() 메서드 생성 |
@NoArgsConstructor | 클래스에 대한 인자가 없는 생성자 생성 |
@AllArgsConstructor | 클래스의 각 필드에 대해 하나의 매개변수가 있는 생성자 생성 |
@RequiredArgsConstructor | 클래스의 각 final 필드와 null이 아닌 필드에 대해 하나의 매개변수가 있는 생성자 생성 |
@Data | 클래스의 모든 필드에 대한 getter, setter, toString(), equals(), hashCode() 메서드 생성 |
@Builder | 클래스에 대한 빌더 패턴 생성 |
@Value | 최종 필드, getter 메서드, toString(), equals(), hashCode() 메서드가 있는 불변 클래스 생성 |
@Slf4j | SLF4J 로깅 프레임워크를 사용하여 클래스에 대한 로거 인스턴스 생성 |
@Log4j | Log4j 로깅 프레임워크를 사용하여 클래스에 대한 로거 인스턴스 생성 |
@Log | 내장 Java 로깅 프레임워크를 사용하여 클래스에 대한 로거 인스턴스 생성 |
References
'Software Engineering > 기타' 카테고리의 다른 글
postman json 형식으로 post 요청하는 법 (0) | 2023.12.01 |
---|---|
카카오, 네이버 OpenAPI 앱 키 발급받는 방법 (0) | 2023.02.04 |
배치파일로 여러 프로그램 실행하기 (0) | 2022.02.05 |
윈도우 내 PC가 x86인지 x64인지 확인하는 방법 (0) | 2022.01.31 |
Putty로 원격 서버에 접속해서 Tomcat 로그 확인하기(catalina.out) (0) | 2019.12.17 |