본문 바로가기
Application/Spring

[Spring] 인텔리제이에서 lombok 사용

by 윤루트 2022. 2. 13.

Lombok이란?

Lombok은 Java 기반에서 기계적으로 작성하는 Entity, DTO 관련 작업을 쉽게 할 수 있게 해주는 라이브러리다.
쉽게 말해서 코드로 작성해야 하는 여러 가지 작업을 편리하게 해주는 라이브러리다.
Lombok을 사용하면 생성자를 자동으로 만들어주며 Getter, Setter, ToString 등의 메소드들을 편리하게 사용할 수 있게 해준다.

 

Lombok 사용 방법 (IntelliJ)

1-1. start.spring.io

https://start.spring.io/ 에서 프로젝트를 처음 생성할 때 dependencies에 Lombok을 추가할 수 있다.

1-2. build.gradle

프로젝트 진행 중 추가하고 싶다면 다음과 같이 build.gradle에서 직접 입력해주면 된다.

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}


dependencies {
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'

	testCompileOnly 'org.projectlombok:lombok'
	testAnnotationProcessor 'org.projectlombok:lombok'
}

이후 코끼리 클릭

이후 우측에 Gradle을 열어 Reload 해준다.

라이브러리에 lombok이 잘 들어간 것을 확인한다.

 

2. Preferences 세팅 (Mac 기준)

 

plugins 검색 -> 클릭 -> Installed에서 lombok 검색 -> 설치

Features를 보면 다음과 같은 어노테이션을 지원한다고 나온다.

annotation processors 검색 -> 아래 사진과 같이 Enable annotation processing 클릭

 

Lombok 예제

[일반 클래스]

public class Member {

	private Long id;
	private String name;
	private Grade grade;

	public Member(Long id, String name, Grade grade) {
		this.id = id;
		this.name = name;
		this.grade = grade;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Grade getGrade() {
		return grade;
	}

	public void setGrade(Grade grade) {
		this.grade = grade;
	}
}

[Lombok 클래스]

@RequiredArgsConstructor
@Getter
@Setter
public class Member {

	private Long id;
	private String name;
	private Grade grade;
}

- RequiredArgsConstructor : 객체 내부의 final이 붙은 필드를 모아 생성자를 자동으로 만들어준다.

- Getter : 자동으로 getter 메소드를 생성해주는 어노테이션이다.

- Setter : 마찬가지로 자동으로 setter 메소드를 생성해주는 어노테이션이다.

 

Lombok을 사용하므로써 매우 간결하게 프로그램이 작성된다.

Lombok이 자바의 어노테이션 프로세서라는 기능을 이용하여 컴파일 시점에 자동으로 생성자를 만들어준다.

댓글