// 생성자 주입 @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; }
// 생성자 주입 @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy rateDiscountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = rateDiscountPolicy; }
@Qualifier → @Qualifier 끼리 매칭 → 빈 이름 매칭
@Component @Qualifier("mainPolicy") public class RateDiscountPolicy implements DiscountPolicy{ ... }
@Component @Qualifier("subPolicy") public class FixDiscountPolicy implements DiscountPolicy{ ... }
//생성자 주입 @Autowired public OrderServiceImpl(MemberRepository memberRepository, @Qualifier("mainPolicy") DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; }
우선순위를 정하는 방법이다. @Autowired시에 빈이 여러개 매칭 되면 @Primary가 우선권을 가진다.
@Component @Primary public class RateDiscountPolicy implements DiscountPolicy{ ... }
@Component public class FixDiscountPolicy implements DiscountPolicy{ ... }
@Primary는 기본값 처럼 동작하는 것이고 , @Qualifer는 매우 상세하게 동작한다.
스프링은 자동보다는 수동이 , 넓은 범위의 선택권 보다는 좁은 범위의 선택권이 우선 순위가 높다.
따라서 여기서도 @Qualifier가 우선권이 높다.
스프링 빈 조회
빈 출력 해보기 ApplicationContextInfoTest public class applicationContextInfoTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayNam..
write-read.tistory.com
[Spring] 의존성 주입 애노테이션 정리 - @Autowired, @Resource, @Inject
[Spring] 의존성 주입 애노테이션 정리 - @Autowired, @Resource, @Inject 1. @Autowired @Autowired는 주입하려고 하는 객체의 타입이 일치하는 객체를 자동으로 주입한다. @Autowired는 필드, 생성자, Setter에..
atoz-develop.tistory.com
스프링 핵심 원리 - 기본편 - 인프런
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온
www.inflearn.com
의존성 주입 애노테이션(@Autowired,@Resource,@Inject)
@Autowired
@Resource
@Inject
조회 대상 빈이 2개 이상일 때 해결 방법
@Autowired 필드 명 매칭
@Qualifier 사용
@Qualifier → @Qualifier 끼리 매칭 → 빈 이름 매칭
@ Primary 사용
우선순위를 정하는 방법이다. @Autowired시에 빈이 여러개 매칭 되면 @Primary가 우선권을 가진다.
우선순위
@Primary는 기본값 처럼 동작하는 것이고 , @Qualifer는 매우 상세하게 동작한다.
스프링은 자동보다는 수동이 , 넓은 범위의 선택권 보다는 좁은 범위의 선택권이 우선 순위가 높다.
따라서 여기서도 @Qualifier가 우선권이 높다.
스프링 빈 조회
빈 출력 해보기 ApplicationContextInfoTest public class applicationContextInfoTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayNam..
write-read.tistory.com
[Spring] 의존성 주입 애노테이션 정리 - @Autowired, @Resource, @Inject
[Spring] 의존성 주입 애노테이션 정리 - @Autowired, @Resource, @Inject 1. @Autowired @Autowired는 주입하려고 하는 객체의 타입이 일치하는 객체를 자동으로 주입한다. @Autowired는 필드, 생성자, Setter에..
atoz-develop.tistory.com
스프링 핵심 원리 - 기본편 - 인프런
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온
www.inflearn.com
'기록 > Spring' 카테고리의 다른 글