Lombok
더보기
Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.
어노테이션 한방이면 final 이 붙은 클래스의 생성자를 몽땅 생성해주는 착한 라이브러리다.
@RequiredArgsConstructor
더보기
어떠한 빈(Bean)에 생성자가 오직 하나만 있고, 생성자의 파라미터 타입이 빈으로 등록 가능한 존재라면 이 빈은 @Autowired 어노테이션 없이도 의존성 주입이 가능하다.
final 필드나 NotNull 필드에 대한 생성자를 만들어주는 어노테이션.
@Component
@RequiredArgsConstructor
public class OrderServiceImpl implements OrderService{
private final MemberRepository memberRepository;
private final DiscountPolicy discountPolicy;
//생정자 주입
// @Autowired
// public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
// this.memberRepository = memberRepository;
// this.discountPolicy = discountPolicy;
// }
밑에 주석 처리된 생성자와 완전히 동일한 것을 만들어 줌.
@Getter, @Setter, @ToString
package yesol.core;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class HelloLombok {
private String name;
private int ahe;
public static void main(String[] args){
HelloLombok helloLombok = new HelloLombok();
helloLombok.setName("hey");
String name = helloLombok.getName();
System.out.println("helloLombok = " + helloLombok);
}
}
이렇게도 사용이 가능하다.
start.spring.io 에서 새로운 프로젝트 생성 시에 추가 가능하고, 아니라면 build.gradle 에서 추가해 주면 된다
//lombok 설정 추가 시작
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
//lombok 설정 추가 끝
dependencies 내부
//lombok 라이브러리 추가 시작
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
//lombok 라이브러리 추가 끝
또한 lombok 사용을 위해서는
Annotation Precessors 를 활성화 시켜주어야 한다.

Preferences 에서 활성화 버튼 클릭 -끝-
반응형
'CSE > Spring' 카테고리의 다른 글
| 컴포넌트 스캔과 필터 이용하기 (0) | 2021.03.01 |
|---|---|
| Spring이 제공하는 싱글톤 컨테이너 (0) | 2021.03.01 |
| IoC, DI, 컨테이너 (0) | 2021.02.24 |
| AppConfig - 애플리케이션 동작 방식을 Configuration ! (0) | 2021.02.22 |
| 기본적인 자바 문법 + IntelliJ 단축키 @계속 추가 예정 (0) | 2021.02.20 |