노무현 대통령 배너

Lombok 간단 사용기

Work & Study/TechTalk 2012/01/19 10:02 posted by k16wire
얼마전 친구소개로 Lombok 프레임워크를 알게됐습니다. 마침 혼자서 개발하는 도구가 하나 있어 써보고 있는데 나름 유용하네요. 간단하게 정리해봅니다.

Lombok은 어떤 프레임워크인가
어노테이션으로 반복적으로 생기는 Setter,Getter,toString과 같은 메소드를 자동으로 만들어주는 프레임워크입니다.

이클립스에 Lombok 적용하기
이클립스에서 어노테이션으로 정의된 Setter, getter를 이해할수 있도록 Lombok을 한번 실행해 줘야 합니다. Lombok을 받아서 아래와 같이 실행합니다.


Lombok 콘솔에서 IDE 위치를 선택하고 Install/Update 버튼을 눌러줍니다.


팝업창이 하나뜨는데 eclipse.ini에 vmargs설정을 안했다면 무시해도 됩니다.


프로젝트 설정
Maven을 지원합니다. 아래와 같이 Dependency를 추가하면 해당 프로젝트에서 할일은 더이상 없습니다.
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>0.10.6</version>
            <scope>provided</scope>
        </dependency>
이제 설정은 끝났으니 본격적으로 Lombok을 써보겠습니다.

Lombok 이용해 Model 구현하기

Model 클래스를 하나 구현합니다. 보통 멤버변수와 그에 해당하는 Setter, Getter가 주루룩 밑에 달리는데 Lombok을 쓰면 다 필요없고 @Data만 클래스에 붙여주면 됩니다.


이렇게 해놓고 다른 클래스에서 이 클래스를 멤버변수로 선언했습니다. 이번에는 다른 어노테이션과 같이 써야 해서 @Data를 쓰지 않고 해당 멤버변수에 @Setter/@Getter를 붙였습니다.


이제 이 클래스를 호출하면 어떻게 되는지 보겠습니다. 분명히 메소드를 선언하지 않았는데 getInspectionStragegy()가 알아서  뜨네요.


멤버변수로 선언된 InspectionStrategy 클래스도 setter가 뜨는것을 확인할수 있습니다.


Lobmok이 일반적인 프레임워크는 아니지만 잘만 사용하면 반복적인 코드를 많이 줄일수 있을거 같아 보입니다. Model 코드의 경우 Setter/Getter가 없어져서 정말 간결해 집니다. 다만 전 요즘 getName() 행태보다는 name() 형태를 주로 쓰는데 이렇게 못쓰는게 아쉽네요.

디버그 모드에도 별 문제 없는지 좀더 써봐야겠네요.

참고자료
[1] http://www.ibm.com/developerworks/java/library/j-lombok/index.html?ca=drs-
[2] http://notatube.blogspot.com/2010/12/project-lombok-creating-custom.html
[3] http://projectlombok.org/slideshow.html
[4] http://jnb.ociweb.com/jnb/jnbJan2010.html#installation
[5] http://stackoverflow.com/questions/6107197/how-lombok-works

저작자 표시 비영리 변경 금지

'Work & Study > TechTalk' 카테고리의 다른 글

Play Framework을 공부하자.  (0) 2012/01/30
Eclipse에서 CDT로 개발하기  (0) 2012/01/25
Lombok 간단 사용기  (0) 2012/01/19
CodePro AnalytiX의 Test Editor 활용하기  (2) 2011/01/19
특정파일의 인코딩타입 알아내기  (0) 2010/11/24
참여의 중요성  (0) 2010/06/16