Lombok이란?
Lombok(롬복) 은 자바에서 @Getter, @Setter 같은 annotation 기반으로, 기존 DTO, VO, Domain Class 작성할 때, 멤버 변수에 대한 Getter/Setter Method, Equals(), hashCode(), ToString()과 멤버 변수에 값을 설정하는 생성자 등등을 자동으로 생성해 주는 라이브러리이다. 추가로 일반적인 Class에서 Log와 같은 명령어를 간단하게 사용 할 수 있도록 도와준다.
기능
@어노테이션 | 설명 | 세부기능 |
@Getter @Setter | Getter, Setter 메소드 자동생성 | – AccessLevel : 해당 접근 제한자를 설정 – lazy : 동기화를 이용하여 최초 1회만 호출 |
@ToString | ToString 메소드 자동생성 | – exclude : 출력하지 않을 필드명 입력 – includeFieldNames : 필등명 생략 여부 설정 – callSuper : 상위 클래스 toString호출 여부 설정 |
@EqualsAndHashCode | equals, hashcode 메소드 자동생성 | - |
@Data | @ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor 자동생성 | - |
@val | final 키워드 대신 사용하는 변수 선언 class | - |
@NonNull | 해당 값이 Null 일경우 NullPointerException을 발생 | - |
@Cleanup | 자동 리소스 관리 : close() 메소드를 귀찮음 없게 안전하게 호출 | - |
@EqualsAndHashCode | hascode 와 equals 메소드를 생성 | – of : 포함 할 필드, – exclude : 제외 할 필드 |
@NoArgsConstructor | 인자 없는 생성자 생성 | - |
@RequriedArgsConstructor | 필수 인자만 있는 생성자 생성(다른 생성자가 없을 때에만 만들어짐) | - |
@AllArgsConstructor | 모든 인자를 가진 생성자 생성 | - |
@Value | 불편 클래스를 쉽게 생성 | - |
@Builder | Builder API 처럼 사용 할 수 있도록 지원 | - |
@SneakyThrows | Exception 발생시 체크된 Throable로 감싸서 전달 | - |
@Synchronized | 메소드에서 동기화 Lock을 설정 | - |
@Log | 종류별 로그를 사용할 수 있도록 한다. | – 기본 변수명 : Log (Config 파일 만들어서 명칭 변경 가능) – 로그 종류 : @Log, @Slf4j, @CommonLog, XSlf4j, JBossLog 등 |
Ex) Code
@Data
@ToString(exclude = {"name", "address"}, includeFieldNames = false, callSuper = true)
@EqualsAndHashCode(of = {"name", "address"}, exclude = {"gender", "phone"})
public class LombokGsonSampleInfo {
private String id;
@Getter(AccessLevel.PRIVATE) @Setter(AccessLevel.PUBLIC)
private String name;
@NonNull
private String email; // 메소드의 인자가 null일 경우 Exception을 출력 한다
// (java.lang.NullPointerException)
private String address;
private String gender;
private Phone phone;
}
IntelliJ 설치방법
Maven > pom.xml > dependency 추가
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
<scope>provided</scope>
</dependency>
plugins 에서 Lombok 플러그인을 설치한다.
Setting > Build, Execution, Deployment > Comipler > Annotation Processors > Enable annotation processing 체크해야 롬복이 정상적으로 동작한다.
참고 : https://projectlombok.org/
'개발이야기' 카테고리의 다른 글
Selenium 처음사용하기 (0) | 2018.11.01 |
---|---|
Spring 다국어 설정하기 (0) | 2018.10.31 |
10. 드래그 구현하기 (1) (0) | 2018.10.29 |
java.sql.SQLException : ORA-00942: 테이블 또는 뷰가 존재하지 않습니다. (0) | 2018.10.29 |
JSTL Timestamp 객체의 날짜 표현하기 (0) | 2018.10.29 |