-
[Lombok]사용 설명JAVA/LIBRARY 2015. 7. 21. 13:48728x90
Lombok 이란?
간단하게 BEAN(POJO) 를 도와주는 라이브러리 입니다.
annotation을 이용하여 getter, setter 등을 생성한다거나, toSring 객체를 지원 한는 등의 기능을 제공 합니다.
사용법은 IDE를 사용할 경우와 javac 를 이용한 compile을 할 경우로 나누어 집니다.
저는 Intellij 기준으로 설명을 하겠습니다.
Intellij 에서 사용하기 위해서는 Lombok plugin을 설치 해야 합니다.
설치 방법은, 다음과 같습니다.
- Using IDE built-in plugin system on Windows:
- File > Settings > Plugins > Browse repositories... > Search for "lombok" > Install Plugin
- Using IDE built-in plugin system on MacOs:
- Preferences > Settings > Plugins > Browse repositories... > Search for "lombok" > Install Plugin
- Manually:
- Download the latest release and install it manually using Preferences > Plugins > Install plugin from disk...
원본 : https://github.com/mplushnikov/lombok-intellij-plugin
설치 이후에는 IDE를 재기동 해야 합니다.
이후 Lombok 을 사용하기 위한 compiler 설정을 변경 합니다.
- install plugin
- change compiler setting:
- ... > Compiler > Java Compiler > Use Compiler: Eclipse
- ... > Compiler > Annotation Processors > Enable annotation processing: checked (default configuration)
- ... > Compiler > Additional build process VM options: -javaagent:lombok.jar
원본 : https://github.com/mplushnikov/lombok-intellij-plugin
이 설정을 하지 않을 경우 간혈적으로 오류가 발생하거나, 기동시 getter setter method를 찾을 수 없다고 표출 될 수 있습니다.
마지막으로 Lombok 에서 제공하는 기능에 대한 정리 입니다.
val : final 키워드 대신 사용하는 변수 선언 class
@NonNull : 해당 값이 Null 일경우 NullPointerException을 발생한다.
@Cleanup : 자동 리소스 관리 : close() 메소드를 귀찮음 없게 안전하게 호출
@Getter / @Setter : getter, setter를 생성하지 않도록 지원
@ToString : 모든 필드를 출력하는 toString() 메소드 생성
@EqualsAndHashCode : hascode 와 equals 메소드를 생성
@Data : 다음을 처리 합니다 - @ToString, @EqualsAndHashCode, @Getter(모든 필드), @Setter(모든 필드-final로 성언되지 않은), @RequiredArgsConstructor!
@Builder : Builder API 처럼 사용 할수 있도록 지원
@SneakyThrows : Exception 발생시 체크된 Throable로 감싸서 전달
@Synchronized : 메소드에서 동기화 Lock을 설정
@Getter(lazy=true) : 동기화를 이용하여 최초 1회만 getter가 호출
@Log : 종류별 로그를 사용할 수 있도록 한다. (@Log, @Slf4j, @CommonLog 등)
Configuration system : lombok을 사용하기 위해서 최초 설정
Experimental features : 준비중인 추가 기능
Lombok site : https://projectlombok.org/features/index.html
Lombok tutorial : http://jnb.ociweb.com/jnb/jnbJan2010.html
728x90'JAVA > LIBRARY' 카테고리의 다른 글
Srping Batch Meta 정보를 조회하는 기능입니다. (0) 2021.06.28 다른 위치의 DB 테이블 복사 기능 만들기 (0) 2017.10.27 [벤치 마크 라이브러리]JMH (0) 2016.01.26 [easyExcelMaker] 쉽게 만드는 Excel (0) 2014.07.22 [Docx4j] 문자열 치환으로 간편한 문서 만들기 (0) 2014.07.22 - Using IDE built-in plugin system on Windows: