2015. 1. 16. 13:54ㆍ라이브러리/Lombok
사이트 : http://projectlombok.org/
Lombok Feature : http://projectlombok.org/features/index.html
Java Source를 컴파일할 때, Lombok의 Annotation을 확인해서 그에 적합한 메소드를 생성해주는 방식의 라이브러리
접근제어 : AccessLevel[PUBLIC, PROTECTED, PACKAGE, PRIVATE]을 통해서 접근레벨을 제한할 수 있다.
예 : @Getter(AccessLevel.PACKAGE), @Setter(AccessLevel.PRIVATE)
getter/setter 관례에 따라서 get필드명, set필드명 메소드가 생성됨
코드에서 객체의 비교 등의 용도로 사용되는 equals(), hashCode() 메소드의 코드를 절감할 수가 있다.
@EqualsAndHashCode(exclude={“field1”, “field2”}) 처럼 필요에 따라서 특정 필드를 제외할 수가 있다.
로그Log에서 객체의 내용을 확인하는 등의 용도로 쓰이는 toString() 메소드를 대신할 수 있다.
@ToString(exclude=”field1”) 처럼 필요에 따라서 특정 필드를 제외할 수 있다.
추가하면 자동으로 필드에 private static final Logger log 가 추가된다. 이후 로그를 찍으려는 곳에서는 log.error(), log.warn(), log.debug(), log.info() 형태로 사용하면 된다.
final를 붙인 것과 비슷한 효과를 갖어옵니다. 또한 val은 타입을 유추하기 때문에 타입을 따로 쓰지 않고 지역변수를 선언할 수 있습니다.
참고 사이트
http://gitblog.ihoney.pe.kr/blog/2013/01/23/use-lombok-annotation-in-java-project/