롬복
- 생성자 주입을 사용하여 개발을 하다 보면 코드가 길어질 수 있다
- 이때 롬복을 사용하여 리팩터링 하면 간단하게 정리할 수 있다
- 생성자가 있는 기본적인 코드
@Component
public class OrderServiceImpl implements OrderService {
private final MemberRepository memberRepository;
@Autowired
public OrderServiceImpl(MemberRepository memberRepository, ) {
this.memberRepository = memberRepository;
}
}
- 롬북을 사용한 코드
@Component
@RequiredArgsConstructor
public class OrderServiceImpl implements OrderService {
private final MemberRepository memberRepository;
private final DiscountPolicy discountPolicy;
}
생성자 없이 간단하게 정리된 모습이다. 사실 실제 클래스를 열어보면 생성자 코드가 추가되어 있는 것을 알 수 있다
@RequiredArgsConstructor를 사용한다.
- getter, setter사용
@Getter
@Setter
@ToString
public class HelloLombok {
private String name;
private int age;
public static void main(String[] args) {
HelloLombok helloLombok = new HelloLombok();
helloLombok.setName("hello");
System.out.println("name = " + helloLombok);
}
- lombok 설정 추가
- build.gradle에 설정 추가
//lombok 설정 추가 시작 configurations { compileOnly { extendsFrom annotationProcessor } } //lombok 설정 추가 끝
- build.gradle 에 있는 dependencies에 설정 추가
//lombok 라이브러리 추가 시작 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //lombok 라이브러리 추가 끝
- 3가지 확인
- File Settings) plugin lombok 검색 설치 실행 (재시작)
- Preferences Annotation Processors 검색 Enable annotation processing 체크 (재시작)
- 임의의 테스트 클래스를 만들고 @Getter, @Setter 확인
'프로그래밍언어 > Java' 카테고리의 다른 글
[Java] 빈 스코프 (0) | 2022.01.21 |
---|---|
[Java] 스프링 의존관계 주입 (0) | 2022.01.21 |
[Java] 스프링 빈 옵션처리 (0) | 2022.01.20 |
[Java] ComponentScan 개념 (0) | 2022.01.20 |
[Java] 의존관계 주입 방법 (0) | 2022.01.20 |
댓글