본문 바로가기
프로그래밍언어/Java

[Java] 롬북 lombok

by Yikanghee 2022. 1. 21.

롬복

  • 생성자 주입을 사용하여 개발을 하다 보면 코드가 길어질 수 있다
  • 이때 롬복을 사용하여 리팩터링 하면 간단하게 정리할 수 있다
  • 생성자가 있는 기본적인 코드
@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가지 확인
    1.  File Settings) plugin lombok 검색 설치 실행 (재시작)
    2. Preferences Annotation Processors 검색 Enable annotation processing 체크 (재시작)
    3. 임의의 테스트 클래스를 만들고 @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

댓글