Spring

[Spring] 롬복

배씌 2024. 5. 28. 22:07

롬복 라이브러리를 사용하면 의존 관계를 주입할 때 더욱 편리하게 할 수 있다!

 

설정 방법

1. build.gradle 에 설정 추가

//lombok 설정 추가 시작
configurations {
	compileOnly{
		extendsFrom annotationProcessor
	}
}
//lombok 설정 추가 끝

...

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter'

	//lombok 라이브러리 추가 시작
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'

	testCompileOnly 'org.projectlombok:lombok'
	testAnnotationProcessor 'org.projectlombok:lombok'
	//lombok 라이브러리 추가 끝

	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

 

2. Settings - Annotation Processors -> 'Enable annotation processing' 체크 표시

 

 

Lombok 적용

기존 OrderServiceImpl.java

@Component
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;
    }
}

 

생성자가 1개만 있으면 '@Autowired' 생략 가능!

@Component
public class OrderServiceImpl implements OrderService {
    private final MemberRepository memberRepository;
    private final DiscountPolicy discountPolicy;
    
    public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
    	this.memberRepository = memberRepository;
        this.discountPolicy = discountPolicy;
    }
}

 

롬복 적용 코드.java

@Component
@RequiredArgsConstructor
public class OrderServiceImpl implements OrderService {
    private final MemberRepository memberRepository;
    private final DiscountPolicy discountPolicy;
}

 

@RequiredArgsConstructor 는 final 이 붙은 필드의 생성자를 자동으로 생성해준다.