[Lombok] 롬복이란

2015. 1. 16. 13:54라이브러리/Lombok

사이트 : http://projectlombok.org/

Lombok Feature : http://projectlombok.org/features/index.html

Java Source를 컴파일할 때, Lombok의 Annotation을 확인해서 그에 적합한 메소드를 생성해주는 방식의 라이브러리


@Data

@Getter/@Setter

접근제어 : AccessLevel[PUBLIC, PROTECTED, PACKAGE, PRIVATE]을 통해서 접근레벨을 제한할 수 있다.

예 : @Getter(AccessLevel.PACKAGE), @Setter(AccessLevel.PRIVATE)

getter/setter 관례에 따라서 get필드명, set필드명 메소드가 생성됨


@EqualsAndHashCode

코드에서 객체의 비교 등의 용도로 사용되는 equals(), hashCode() 메소드의 코드를 절감할 수가 있다.

@EqualsAndHashCode(exclude={“field1”, “field2”}) 처럼 필요에 따라서 특정 필드를 제외할 수가 있다.


@ToString

로그Log에서 객체의 내용을 확인하는 등의 용도로 쓰이는 toString() 메소드를 대신할 수 있다.

@ToString(exclude=”field1”) 처럼 필요에 따라서 특정 필드를 제외할 수 있다.


@Log

추가하면 자동으로 필드에 private static final Logger log 가 추가된다. 이후 로그를 찍으려는 곳에서는 log.error(), log.warn(), log.debug(), log.info() 형태로 사용하면 된다.

@val

 final를 붙인 것과 비슷한 효과를 갖어옵니다. 또한 val은 타입을 유추하기 때문에 타입을 따로 쓰지 않고 지역변수를 선언할 수 있습니다.



참고 사이트

http://gitblog.ihoney.pe.kr/blog/2013/01/23/use-lombok-annotation-in-java-project/

http://edoli.tistory.com/99