개발천재

[Spring Boot] Lombok 추가하기 본문

개발 준비/Spring Boot

[Spring Boot] Lombok 추가하기

세리블리 2025. 2. 10. 23:31
반응형

Lombok 이해하기

Lombok은 자바 코드에서 반복되는 메서드(Getter, Setter, 생성자 등)를 자동으로 생성해 주는 라이브러리다. 예를 들어, @Getter와 @Setter를 붙이면 getName()이나 setAge() 같은 메서드를 직접 작성하지 않아도 자동으로 만들어 준다. @NoArgsConstructor나 @AllArgsConstructor를 사용하면 기본 생성자나 모든 필드를 포함한 생성자도 자동 생성된다. 또한 @Builder를 활용하면 객체를 쉽게 만들 수 있다. 즉, Lombok을 사용하면 코드가 짧아지고 가독성이 좋아져서 유지보수가 훨씬 편해진다.

[ Lombok 주요 장점 ]
- 코드 가독성이 향상됨
- 반복적인 코드 작성을 줄여서 생산성이 증가
- 유지보수가 쉬워짐

 

 

Lombok 주요 어노테이션 정리

어노테이션 기능
@Getter / @Setter Getter & Setter 자동 생성
@NoArgsConstructor 기본 생성자 자동 생성
@AllArgsConstructor 모든 필드 포함 생성자 생성
@RequiredArgsConstructor final 필드 포함 생성자 생성
@ToString toString() 자동 생성
@EqualsAndHashCode equals() 및 hashCode() 자동 생성
@Data Getter, Setter, ToString, EqualsAndHashCode, RequiredArgsConstructor 포함
@Builder 빌더 패턴 지원

 

 

 

@Getter, @Setter

(Getter/Setter 자동 생성), user.getName(), user.setAge(25) 자동 생성된다.

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class User {
    private String name;
    private int age;
}



@NoArgsConstructor, @AllArgsConstructor

생성자를 자동으로 생성해주는 어노테이션이다.

@NoArgsConstructor는 기본 생성자를 생성해주고, @AllArgsConstructor는 모든 필드를 포함한 생성자를 생성해준다.

import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

@NoArgsConstructor    // 기본 생성자 생성
@AllArgsConstructor   // 모든 필드를 포함한 생성자 생성
public class User {
    private String name;
    private int age;
}

 

 

 

@RequiredArgsConstructor (필수 필드 생성자)

import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public class User {
    private final String name;
    private int age; // 제외됨
}


final 필드만 포함하는 생성자가 자동 생성된다.

new User("Alice");  // new User(name) 생성 가능

 

 

 

@ToString (toString() 자동 생성)

System.out.println(user); 호출 시 User(name=Alice, age=25) 자동으로 출력된다.

import lombok.ToString;

@ToString
public class User {
    private String name;
    private int age;
}

 

 

 

@EqualsAndHashCode (equals() & hashCode() 자동 생성)

객체 비교 시 equals()와 hashCode() 자동으로 생성된다.

import lombok.EqualsAndHashCode;

@EqualsAndHashCode
public class User {
    private String name;
    private int age;
}

 

 

 

@Data (모든 기능 포함)

@Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 자동으로 생성한다.

import lombok.Data;

@Data
public class User {
    private String name;
    private int age;
}

 

 

 

@Builder (빌더 패턴 지원)

import lombok.Builder;

@Builder
public class User {
    private String name;
    private int age;
}


객체 생성

User user = User.builder()
    .name("Alice")
    .age(25)
    .build();

 

 

 

인텔리제이에 Lombok 추가하기

먼저 Dependencies를 추가한다. spring.io에 접속하여 [ADD DEPENDENCIES] 클릭하여 Lombok 선택하고 하단의 EXPLORE 버튼을 클릭한다.

 

 

 

build.gradle에 dependencies에서 lombok에 해당하는 코드를 복사한다.

 

 

 

해당 프로젝트의 build.gradle 파일에 복사한 코드를 붙여넣는다.

 

 

 

인텔리제이에서 Settings > Plugins에 가서 Lombok을 설치한다.

반응형