
자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메서드/생성자 등을 자동 생성해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리
@NonNull : 자동으로 null체크를 진행하고 null인 경우 NullPointException을 발생@Getter : Class 모든 필드의 Getter method를 생성@Setter : Class 모든 필드의 Setter method를 생성@NoArgsConstructor : Class 기본 생성자를 자동으로 추가@AllArgsConstructor : Class 모든 필드 값을 파라미터로 받는 생성자를 추가@RequiredArgsConstructor : final이나@NonNull이 있는 필드가 포함된 생성자를 자동 생성@ToString : Class 모든 필드의 toString method를 생성@CleanUp : 자동으로 자원관리, close()메서드를 호출하여 자원 종류@EqualsAndHashCode : hashCode, equals 구현@Builder : 해당 클래스에 빌드 패턴을 적용한 클래스를 생성검색창에 "Annotation Processors" 입력 후, 우측 "Enable ~" 체크하고 OK 클릭

Shift 두 번 누르고 plugins 입력 후 엔터

Lombok이 installed가 되지 않은 상태라면 아래처럼 생긴 아이콘의 우측 Install 버튼 클릭 → Intellij 재시작

다시 Shift 두 번 누르고 plugins 입력 후 Enter
Lombok을 검색했을 때 installed 상태라면 설치 완료

package com.sparta.springprepare;
import lombok.*;
public class Memo {
private String username;
private final String contents;
}
@Getter
public class Memo {
private String username;
private String contents;
}


@Setter
public class Memo {
private String username;
private String contents;
}
...
public void setUsername(String username) {
this.username = username;
}
public void setContents(String contents) {
this.contents = contents;
}
@NoArgsConstructor
@AllArgsConstructor
public class Memo {
private String username;
private String contents;
}
...
public Memo() {
}
public Memo(String username, String contents) {
this.username = username;
this.contents = contents;
}
@RequiredArgsConstructor
public class Memo {
private final Calculator calculator;
private final String username;
private String contents;
}
...
public Memo(Calculator calculator, String username) {
this.calculator = calculator;
this.username = username;
}