[Spring Boot] Lombok 개념 및 설치

MyoungSeok Lee
4 min readJan 7, 2020

--

Lombok이 뭐지?

기본적으로 웹 애플리케이션에서 사용하는 VO 객체는 , DB 테이블의 column 과 같은 이름의 private 변수를 가지고, getter setter 메소드를 정의 한 후 toString 메소드를 정의한다. 하지만 프로젝트가 커지면 커질수록 위에 말한 변수 , 메소드들이 기하급수적으로 늘어날 것이고, 늘어나면 늘어날 수록 추가도 귀찮을 뿐더러 관리도 힘들어져 결국에는 유지보수가 힘들어진다.

위의 문제를 타파한 라이브러리가 Lombok이다. 위에 말한 사항들을 자동으로 처리해준다.(와우)

Spring Boot에서 우선 라이브러리 의존성을 추가해야 하는데, 기존 프로젝트에는 pom.xml 파일내부에 <dependency>태그를 한번 클릭하고 ctrl + space를 누른 후 Edit Starters를 클릭해 설정하는 방법이 있다.(새 프로젝트는 여기를 참고하자)

그리고 나서 Lombok 설치를 위한 JAR 파일이 필요한데, 파일은 공식홈페이지 https://projectlombok.org/ 에서 구할 수 있다.

1–1. Lombok 브라우저 다운로드 경로

작성 날짜 기준으로 1.18.10 버전이 준비되어져 있다.

다운로드 후 원하는 위치에 JAR 파일을 위치시킨 후 명령 프롬포트 창으로 명령어 ‘java -jar lombok.jar’ 를 입력한다.

1–3. 명령 프롬포트 명령어

해당 명령어를 치면 , 빨간 고추 이미지가 들어가 있는 Installer가 실행될 것이다.

1–4. Lombok 인스톨러

인스톨러가 실행되면 , IDES 부분에 자동적으로 STS와 이클립스의 경로가 설정될 것이다. 경로 확인후 Install/Update를 클릭하면 설치가 끝난다.

1–5. Lombok 설치 완료 창

설치를 끝낸 후 이클립스(STS)를 재시작해 사용하고자 하는 VO객체에 Lombok 어노테이션을 적용시키면 된다.

Lombok 어노테이션

전체 어노테이션의 Document는 Lombok 공식 Documentation 을 참고하고, 자주 쓰이는 6가지 어노테이션을 보자.

@ToString

toString() 메소드를 생성한다. @ToString(exclude={“제외값”})으로 제외시키고 싶은 값을 설정할 수 있다.

@Getter , @Setter

getter() setter() 메소드를 생성한다.

@EqualsAndHashCode

equals(), hashCode() 메소드를 생성한다.

@RequiredArgsConstructor

모든 멤버 변수를 초기화시키는 생성자를 생성한다.

@Data

위에 언급한 5가지 어노테이션 설정을 모두 포함한다.

1–6. Data 어노테이션 선언

Lombok의 더 자세한 내용은 필자가 Spring Boot를 포함한 웹 공부를 더 하고 난 후 필요에 의하면 작성하도록 하겠다.

설명에 오류가 있거나 궁금한 점은 dlaudtjr07@gmail.com 으로 메일 남겨주시거나, 댓글 부탁드려요!

--

--