1. Lombok
- Java Library.
- 반복되는 메소드를 Annotation을 사용해서 자동으로 작성해주는 라이브러리.
- 생성자, Getter, Setter, Builder, Logger 등 다양한 코드를 작성하는 과정을 제거해준다.
2. 자주 사용하는 Annotation
Lombok 의존성 추가
더보기
더보기
- Lombok 의존성 추가
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.34</version>
</dependency>
@Getter
- 해당 클래스의 각 필드에 대해 getter 메소드를 생성.
/* getName(), getAge() 자동 생성 */
@Getter
public class Example {
private String name;
private int age;
}
@Setter
- 해당 클래스의 각 필드에 대해 setter 메소드를 생성.
/* setName(), setAge() 자동 생성 */
@Setter
public class Example {
private String name;
private int age;
}
@NoArgsConstructor
- 해당 클래스에 인자를 포함하지 않는 생성자를 자동 생성.
/* public Example() {} 생성자 자동 생성됨 */
@NoArgsConstructor
public class Example {
public String name;
public int age;
}
@RequiredArgsConstructor
- 해당 클래스에 final / non-nullfield argument를 포함하는 생성자를 자동 생성.
/* public Example(String name) {this.name = name;} 생성자 자동 생성됨 */
@RequiredArgsConstructor
public class Example {
private final String name;
public int age;
}
@AllArgsConstructor
- 해당 클래스에 모든 argument를 포함하는 생성자를 자동 생성.
/* public Example(String name, int age) {this.name=name; this.age=age;} 자동 생성됨 */
@AllArgsConstructor
public class Example {
private final String name;
public int age;
}
@Slf4j
- log라는 이름의 org.slf4j.Logger 타입의 정적 필드가 자동 생성. (SLF4J 인터페이스 기반으로 한 로그 객체 자동 생성)
- @Slf4j를 통해 log 객체를 따로 선언할 필요가 없어, 코드가 간결해짐.
예시) log.debug()
더보기
더보기
- Logback 의존성 추가
- 로그를 남기는 기능을 제공하는 로깅 프레임워크
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.6</version>
</dependency>
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class Example {
log.debug("log 찍기");
}
출처: https://projectlombok.org/features/
Stable
projectlombok.org
'Spring' 카테고리의 다른 글
[Spring Boot] 01. Spring Boot Core (3) - AOP(관점 지향 프로그래밍) * (0) | 2024.11.08 |
---|---|
[Spring Boot] @ConfigurationProperties 활성화시 @Profile 무시 에러 (0) | 2024.11.08 |
[Spring Boot] 01. Spring Boot Core (2) - 자동 구성과 외부 구성 (0) | 2024.11.06 |
[Spring Boot] 01. Spring Boot Core (1) - Spring Boot 소개, IoC, DI (3) | 2024.11.05 |
[Spring Boot] 디자인 패턴 (0) | 2024.11.04 |