lombok에 대해서 알아보자

한 번도 안 써본 사람은 있어도 한 번만 써본 사람은 없다는 Lombok 입니다.
 
자바에서 DTO, VO, Domain Object 같은 데이터를 저장하기 위한 클래스들을 만들면 멤버 필드(property)에 대한 get/set 메소드와 equals, hashCode, toString, 생성자 같은 필요하지만 의미상 별 내용은 없는 코드가 생기게 됩니다. IDE의 발전으로 웬만큼 자동 생성이 되지만 그것보다 더 편한 방법이 있습니다. 바로 Lombok으로 @Annotation을 다는 방법이죠. (Java Annotation에 대해서 알아보자)
 
간단한 예제를 보면 이렇습니다. 

멤버 필드는 두 개(name, age) 밖에 없는 간단한 클래스지만 getter/setter를 만들고 여러가지 필요한 메소드들을 만들다 보니 코드가 엄청 길어집니다.
물론 이 코드를 다 쓰는건 엄청 귀찮은 일이라 IDE는 Code Generate 기능을 가지고 있죠.

하지만 긴 코드는 읽기 불편하고 실수할 확률이 올라갑니다. 그리고 Code Generate를 쓴다고 해도 귀찮잖아요? 무려 6번이나 되는 Alt+Insert를 눌러야 하고 일일이 엔터를 치면서 넘겨줘야 합니다.
하지만 Lombok을 사용하면 다음과 같이 깔끔한 정리가 가능합니다.

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 
이 간단한 코드와 위에 있는 코드는 같은 동작을 합니다. 만드는 시간도 엄청 짧아요. 위대한 IDE는 Annotation도 자동완성을 도와줍니다. 
지금 사용한 3가지 Annotation 말고도 다른 사용 설명은 http://jnb.ociweb.com/jnb/jnbJan2010.html 에서 확인할 수 있습니다.
 
그럼 이렇게 좋은 Lombok을 어떻게 쓰는지 알아보도록 하죠.
lombok은 플러그인을 통해서 사용 가능합니다.

 
혹은 Lombok 홈페이지에서 다운로드 가능합니다.

 
플러그인을 설치하고 나면 다음과 같은 순서로 추가할 수 있습니다.

 
 
메이븐을 사용할 경우 더 플러그인 설치 없이 쉽게 사용할 수 있습니다.

 
 
이렇게 프로젝트에 라이브러리를 추가하고 나면 세팅으로 가서 annotation processing을 체크 하면 사용준비가 완료됩니다.

 
 

 
그럼 Lombok 과 함께 즐거운 코딩 생활 하세요~



출처: http://king9.tistory.com/103 [메모리 팩토리]

출처: http://king9.tistory.com/103 [메모리 팩토리]

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
249 Jpa @elementcollection 의 데이터 정렬 @orderby : JPA - Using @OrderBy Annotation file 졸리운_곰 2018.11.16 771
248 순수 Java Application 코드로 Restful api 호출 졸리운_곰 2018.10.10 295
247 Springboot 에서 Querydsl 사용하기 졸리운_곰 2018.09.18 204
246 Springboot 에서 DATA-JPA(Hibernate) 사용하기[3] - JOIN file 졸리운_곰 2018.09.18 123
245 Springboot 에서 DATA-JPA(Hibernate) 사용하기[2] - Entity, Repository, CRUD file 졸리운_곰 2018.09.18 131
244 Springboot 에서 DATA-JPA(Hibernate) 사용하기[1] - 기초 설정 졸리운_곰 2018.09.18 197
243 JPA_Mini_Book 이북 Java JPA file 졸리운_곰 2018.08.27 120
242 [Mybatis] parameterType="String" 사용시 문제점 졸리운_곰 2018.08.22 1439
241 MyBatis 에서 출력하는 에러 보기 : Catch exception in MyBatis 졸리운_곰 2018.08.22 279
240 MyBatis 기본 - insert,delete,update 졸리운_곰 2018.08.22 120
239 %Like% Query in spring JpaRepository 졸리운_곰 2018.08.20 92
238 Spring Data JPA Tutorial: Creating Database Queries From Method Names 졸리운_곰 2018.08.20 100
237 Spring Data JPA 에서 Java8 Date-Time(JSR-310) 사용하기 file 졸리운_곰 2018.05.28 146
236 JPA - 04. 엔티티 매핑 졸리운_곰 2018.05.28 163
235 JPA 부가 기능 졸리운_곰 2018.05.22 114
234 Java 퍼시스턴스 jpa 상세정리 : Java Persistence file 졸리운_곰 2018.05.21 4503
233 Java Persistence/JPQL 졸리운_곰 2018.05.21 117
232 Java Persistence/Querying 졸리운_곰 2018.05.21 75
231 Java Persistence/Relationships 졸리운_곰 2018.05.21 112
230 Java Persistence/Embeddables file 졸리운_곰 2018.05.21 103
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED