@Qualifier์ ๋ฌธ์ ์
@Qualifier("mainDiscountPolicy") ์ฒ๋ผ, ๋ฌธ์๋ฅผ ์ง์ ์ ์ด์ฃผ๋ ๋ฐฉ์์ ์ปดํ์ผ ์์ ์ ์ฒดํฌ๊ฐ ๋์ง ์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ด๋ ธํ ์ด์ ์ ์ง์ ๋ง๋ค์ด์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์ด๋ ธํ ์ด์ ์ง์ ๋ง๋ค๊ธฐ
๋ค์๊ณผ ๊ฐ์ด ์ด๋ ธํ ์ด์ ์ @Qualifier๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ์ด๋ ธํ ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER,ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Qualifier("mainDiscountPolicy")
public @interface MainDiscountPolicy {
}
์ด๋ ๊ธฐ๋ณธ @Qualifier๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์๊ณผ ๋์ผํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
@Component
@MainDiscountPolicy
public class RateDiscountPolicy implements DiscountPolicy {}
@Autowired
public OrderServiceImpl( @MainDiscountPolicy DiscountPolicy discountPolicy) {
this.memberRepository = memberRepository;
this.discountPolicy = discountPolicy;
}
๐ Reference
์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์
์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข ์๊ฐ ์
www.inflearn.com
'๐๏ธ Spring > ๊ธฐ๋ณธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] ๊ฐ์ ํ์ ์ ๋น์ด ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ํด๊ฒฐํ ๊น? (@Qualifier, @Primary) (0) | 2021.12.11 |
---|---|
[Spring] ํน์ ํ์ ์ ๋น์ ๋ชจ๋ ์กฐํํ๋ ๋ฐฉ๋ฒ (0) | 2021.12.11 |
[Spring] @Autowired (0) | 2021.12.11 |
[Spring] @ComponentScan (0) | 2021.12.11 |
[Spring] @Configuration (0) | 2021.12.11 |