보일러 플레이트 코드를 줄여주는 라이브러리로 자동으로 보일러 플레이트 코드를 생성하여 코드의 가독성과 유지보수성을 높여준다.
Lombok은 어노테이션 기반으로 동작하며, 주로 컴파일 시점에 소스 코드를 변환하여 필요한 메서드를 자동으로 생성한다.보일러 플레이트 코드(Boilerplate code)란?
getter/setter 메서드, 생성자, toString 메서드 등과 같이 반복적으로 작성되는 코드를 뜻한다.
@Getter
@Setter
public class User {
private String name;
private int age;
/** 아래 코드를 @Getter, @Setter 어노테이션이 생성해준다.
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
**/
}
@ToString
public class User {
private String name;
private int age;
}
@EqualsAndHashCode
public class User {
private String name;
private int age;
}
@NoArgsConstructor
@AllArgsConstructor
public class User {
private String name;
private int age;
}
@NoArgsConstructor : 기본 생성자를 생성한다.@AllArgsConstructor : 모든 필드를 매개변수로 하는 생성자를 생성한다.@RequiredArgsConstructor : 필수 final 필드만을 매개변수로 하는 생성자를 생성한다.@Data
public class User {
private String name;
private int age;
}
@Getter , @Setter , @ToString , @EqualsAndHashCode , @RequiredArgsContructor 를 한 번에 적용하는 어노테이션@Builder
public class User {
private String name;
private int age;
}
User user = User.builder()
.name("John")
.age(30)
.build();
@Slf4j
public class UserService {
public void logMessage() {
log.info("This is a log message");
}
}
Logger 객체를 생성한다.Spring 입문 - 2주차