[Spring-기본] 롬복 적용하기

DANI·2023년 11월 26일

Spring[김영한T]

목록 보기
26/31
post-thumbnail

🔍 플러그인에서 롬복 설치하기

setting > plugin > lombok 검색 후 설치




✨ Annotation process 켜기 ✨




💾 bulid.gradle 에 추가

  • compileOnly 'org.projectlombok:lombok'

  • annotationProcessor 'org.projectlombok:lombok'

  • testCompileOnly 'org.projectlombok:lombok'

  • testAnnotationProcessor 'org.projectlombok:lombok'

  • configurations {
    	compileOnly{
    		extendsFrom annotationProcessor
    	}
    }


💾 기존 코드

package hello.core.Order;

import hello.core.Discount.DiscountPolicy;
import hello.core.Discount.FixedDiscountPolicy;
import hello.core.Discount.RateDiscountPolicy;
import hello.core.member.Member;
import hello.core.member.MemberRepository;
import hello.core.member.MemoryMemberRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@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;
    }
    ...(생략)...
 }

@Autowired 애너테이션을 사용하여 의존관계를 주입하였다.



💾 롬복 적용 후

package hello.core.Order;

import hello.core.Discount.DiscountPolicy;
import hello.core.Discount.FixedDiscountPolicy;
import hello.core.Discount.RateDiscountPolicy;
import hello.core.member.Member;
import hello.core.member.MemberRepository;
import hello.core.member.MemoryMemberRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
@RequiredArgsConstructor // 애너테이션 추가
public class OrderServiceImpl implements OrderService{

    private final MemberRepository memberRepository;
    private final DiscountPolicy discountPolicy;

    ...(생략)...
 }

@RequiredArgsConstructor 애너테이션을 추가하면 final 이 붙은 필드에 생성자를 자동으로 만들어준다.
OrderServiceImpl.class 파일을 확인해보면 생성자가 생성되어 있다


0개의 댓글