<< 학습 목표 >>

1. 롬복(Lombok) 라이브러리를 설치할 수 있다.

2. 프로젝트를 만들 때 롬복(Lombok) 라이브러리를 사용하도록 설정할 수 있다.

3. 커맨드 객체에 롬복(Lombok) 라이브러리를 사용할 수 있다.


아래와 같은 클래스를 자바에서는 클래스라 부르고 MVC 디자인 패턴에서는 M 또는 DTO라 부르는데 Spring Framework 에서는 커맨드 객체(Command Object) 라고 부름

package com.example.demo.chapter02;

import java.util.List;

import org.springframework.web.multipart.MultipartFile;

public class Member {
	String id;
	String pw;
	String nickname;
	List<String> hobby;
	MultipartFile file;
	
	// getter & setter 생략
}

 

이 클래스 또는 DTO 또는 커맨드 객체라 부르는 것을 컨트롤러의 매개변수에 사용해 클라이언트가 보낸 값을 저장하는 용도로 사용했음

package com.example.demo.chapter02;

import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.UUID;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.multipart.MultipartFile;

@Controller
public class TestController05 {
	@PostMapping("/chapter02/files/type4")
	public void getUserProfile(Member member) {
		// ...
		// ...
		// ...
	}
    
    // ...
    // ...
    // ...
}

 

앞으로 클라이언트가 보내는 값을 꺼내는 용도의 클래스를 커맨드 객체라 칭하겠음

DTO는 조금 더 배우면 나옴


DTO와 커맨드 객체를 만들 때 제일 번거로운 부분이 getter, setter 를 추가하는 부분

그 외에도 equals, toString, hashcode 등도 오버라이딩을 해야하는 경우가 있어 DTO와 커맨드 객체를 만들 때 할 일이 더 많아 짐

또한 프로젝트를 개발할 때 DTO와 커맨드 객체가 적게는 수 십개, 많게는 백여개 그 이상으로 늘어남

DTO와 커맨드 객체를 하나 만들 때 해야 할 일도 많은데 수 십개에서 백여개 이상을 만들 때는 더 번거로워짐

이렇게 번거로운 부분을 도와주는 라이브러리가 롬복(Lombok) 라이브러리임

 

롬복(Lombok) 라이브러리는 DTO와 커맨드 객체의 getter, setter, equals, toString, hashcode 등의 메서드를 자동으로 생성해주고 오버라이딩 해줌

 

롬복을 사용하려면 우선 이클립스에 롬복을 설치해야함

롬복을 설치해보자

인터넷에 lombok 으로 검색(1) 후 첫 번째 검색 결과 페이지(2)로 들어가자

만약 첫 번째 검색 결과가 다르다면 직접 들어가자 / https://projectlombok.org/

 

 

다운로드 메뉴(1)로 들어가 다운로드 받자(2)

다운로드 받을 때 아래와 같이 경고창(3) 이 뜰 수 있는데 그대로 다운로드 받으면 됨

 

다운로드 받은 파일을 보면 jar 파일임

우리가 sts 압축을 풀었을 때와 마찬가지로 cmd 창에서 java 명령을 사용해 압축을 풀어야함

cmd 창(1)을 열고 cd 명령으로 다운로드 폴더로 이동(2)한 후 java 명령(3)을 사용해 압축을 풀자

 

롬복의 압축을 풀면 다음과 같이 롬복 설치창(1)이 열림

그리고 롬복을 설치할 개발툴을 찾지 못했다 메세지(2) 가 보일 것

 

[ OK ] 를 누르고 [ Specify location... ] (1) 을 누르고 사용중인 sts 가 설치된 폴더(2)를 선택(3)하면됨

그 후 [ Install / Update ] (4) 버튼을 누르면 사용중인 sts에 롬복이 설치됨

 

설치가 다 됐다면 설치 프로그램을 종료(1) 하고 sts를 다시 실행시키자

이제 sts에서 롬복을 사용해 DTO와 커맨드 객체를 쉽게 만들 수 있음


이제 프로젝트에서 롬복을 사용하려면 pom.xml에 롬복 라이브러리 URL을 추가하고 사용하면 됨

그치만 우리는 프로젝트를 새로 만들자

 

sts 에서 [ Ctrl + N ] 을 누른 후(1) [ spring ] 으로 검색(2) 해 [ Spring Starter Project ] 를 만들자

 

맨 처음 Spring Framework 프로젝트를 만들었을 때 처럼 Type은 Maven (1) 으로 Packaging은 War (2) 로 설정하자

Java Version은 바꾸지 않아도 됨

왜 바꾸지 않아도 되는지는 설명했으므로 혹시 잊어버렸다면 전 글 ( ) 을 참고하자

 

이번에는 프로젝트명과 기본 패키지도 수정하자


이와 같이 lombok 을 사용할 수 있는 Spring Framework 프로젝트를 생성했음

 

이 프로젝트에 com.sutdy.chatper02 패키지를 추가하고 해당 패키지 내 Member 클래스를 추가하자

그 후 아래 코드를 입력하자

package com.study.chapter02;

import lombok.Data;

@Data
public class Member {
	private String id;
	private String pw;
	private String nickname;
	private String[] hobby;
}

 

getter, setter 메서드가 없고 대신 Member 클래스에 @Data 애너테이션이 붙었음

@Data 애너테이션은 롬복 덕분에 사용할 수 있는 애너테이션이며 클래스에 이 애너테이션을 붙이면 해당 클래스가 갖고 있는 멤버 변수에 맞게 getter, setter 를 자동으로 추가해줌

 

getter, setter가 자동으로 추가됐다는건 [ Outline 뷰 ] (3) 를 통해서 볼 수 있음

<< Outline 뷰가 보이지 않는다면 >>

더보기

sts 상단 [ WIndow ] (1) -> [ Show View ] (2) -> [ Other ] (3)

 

outline 검색 (1) -> [ Open ] (2)


 

이 외에도 롬복을 사용하면 더 많은 것들을 할 수 있지만 우리는 여기까지만 보자

728x90
LIST