일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- java spring framework
- NoSQL
- AWS 자격증
- STS
- 몽고디비
- mongoDB
- Jenkins
- 조대협
- 스프링 프레임워크
- 코드프레소
- 자바
- AWS Developer
- Text Index
- Amazon Web Service
- aws
- Code Presso
- Write Concern
- 스프링
- 읽기 고려
- EC2
- 위치 기반 쿼리
- 대용량 아키텍처와 성능 튜닝
- spring boot
- JPA
- Java
- 쓰기 고려
- iam
- Spring Framework
- 스프링 부트
- Spring
- Today
- Total
개발과 기록의 조화
[Spring Boot] Lombok 개념 및 설치 본문
해당 게시물은 학습 및 기록 목적으로 작성되었습니다. 사실과 다른 내용이 있을 수 있으며, 오류가 있거나 궁금한 점은 댓글이나 dlaudtjr07@gmail.com 으로 메일 주시면 감사하겠습니다.
Lombok이란?
기본적으로 웹 애플리케이션에서 사용하는 VO 객체는 , DB 테이블의 column 과 같은 이름의 private 변수를 가지고, getter setter 메소드를 정의 한 후 toString 메소드를 정의합니다. 하지만 프로젝트가 커지면 커질수록 위에 말한 변수 , 메소드들이 기하급수적으로 늘어날 것이고, 늘어나면 늘어날 수록 추가도 귀찮을 뿐더러 관리도 힘들어져 결국에는 유지보수가 힘들어집니다.
위의 문제를 타파한 라이브러리가 Lombok인데, 위에 말한 사항들을 자동으로 처리해줍니다.(와우)
Spring Boot에서 우선 라이브러리 의존성을 추가해야 하는데, 기존 프로젝트에는 pom.xml 파일내부에 <dependency>태그를 한번 클릭하고 ctrl + space를 누른 후 Edit Starters를 클릭해 설정하는 방법이 있습니다.
그리고 추가로 Lombok 설치를 위한 JAR 파일이 필요한데, 파일은 Lombok 공식 홈페이지에서 구할 수 있습니다.
작성 날짜 기준으로 1.18.10 버전이 준비되어져 있습니다.
다운로드 후 원하는 위치에 JAR 파일을 위치시킨 후 명령 프롬포트 창으로 명령어 ‘java -jar lombok.jar’ 를 입력합니다.
해당 명령어를 치면 , 빨간 고추 이미지가 들어가 있는 Installer가 실행될 것입니다.
인스톨러가 실행되면 , IDES 부분에 자동적으로 STS와 이클립스의 경로가 설정될 것입니다. 경로 확인후 Install/Update를 클릭하면 설치가 끝납니다.
설치를 끝낸 후 이클립스(STS)를 재시작해 사용하고자 하는 VO객체에 Lombok 어노테이션을 적용시키면 됩니다.
Lombok 어노테이션
전체 어노테이션의 Document는 Lombok 공식 Documentation 을 참고하고, 자주 쓰이는 6가지 어노테이션을 보도록 합시다.
@ToString
toString() 메소드를 생성합니다. @ToString(exclude={“제외값”})으로 제외시키고 싶은 값을 설정할 수 있습니다.
@Getter , @Setter
getter() setter() 메소드를 생성합니다.
@EqualsAndHashCode
equals(), hashCode() 메소드를 생성합니다.
@RequiredArgsConstructor
모든 멤버 변수를 초기화시키는 생성자를 생성합니다.
@Data
위에 언급한 5가지 어노테이션 설정을 모두 포함합니다.
Lombok의 더 자세한 내용은 필자가 Spring Boot를 포함한 웹 공부를 더 하고 난 후 필요에 의하면 작성하도록 하겠습니다.
해당 글은 코드프레소 DevOps Roasting 코스를 수강하면서 작성한 글입니다.
'Web Framework > Java Spring Framework' 카테고리의 다른 글
[Spring Boot] JPA 연동 - JPA 기본 설정 (0) | 2020.02.02 |
---|---|
[Spring Boot] JPA 연동 - 개념 이해하기 (0) | 2020.02.02 |
[Spring Boot] 아주 간단한 웹 애플리케이션 예제 작성 (0) | 2020.02.01 |
[Spring Boot] 프로젝트 구조 (0) | 2020.02.01 |
[Spring Boot] 프로젝트 만들기 (0) | 2020.02.01 |