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 [메모리 팩토리]

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
18 [java 인공지능] Spring AI 로 ChatGPT API 만들기 졸리운_곰 2024.12.30 214
17 [java 인공지능] 오라클, 자바 머신러닝 라이브러리 ‘트리뷰오’ 오픈소스로 공개 졸리운_곰 2023.08.27 296
16 [java 인공지능] 자바를 위한 머신 러닝 라이브러리 졸리운_곰 2023.08.27 360
15 [Java 인공지능] 오라클, 자바 머신러닝 라이브러리 ‘트리뷰오’ 오픈소스로 공개 file 졸리운_곰 2023.08.13 357
14 [java 인공지능] [java] 라이프 게임 (life game) file 졸리운_곰 2021.10.19 336
13 How to use Weka in your Java code 졸리운_곰 2020.02.01 307
12 weka and java eclipse example : A Simple Machine Learning Example in Java file 졸리운_곰 2020.01.31 362
11 머신러닝? weka file 졸리운_곰 2020.01.31 357
10 [Weka] Weka를 이용한 Iris 데이터 머신러닝 file 졸리운_곰 2020.01.30 363
9 [강좌] WEKA 사용법 (간단한 분류, 의사결정트리 분석 설명) file 졸리운_곰 2020.01.30 343
8 [JESS] Jess , 이클립스 연동 file 졸리운_곰 2019.12.22 215
7 Jess 간단한 문법 요약 졸리운_곰 2019.12.22 277
6 Jess 6.1 다운로드 friedman-hill_src_1_jess_se file 졸리운_곰 2019.12.22 184
5 java artificial intelligence Rule Engine Jess Working Memory 졸리운_곰 2019.12.22 300
4 Defining Functions in Jess 졸리운_곰 2019.12.22 389
3 Jess Language Basics 졸리운_곰 2019.12.22 272
2 Embedding Jess in a Java Application 졸리운_곰 2019.12.22 298
1 다섯개의 탑 자바로 머신러닝 라이브러리 Top 5 machine learning libraries for Java file 졸리운_곰 2017.08.22 386
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED