자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메서드/생성자 등을 자동 생성해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리
@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;
}