Hyunebee

스프링의 핵심 원리 이해 - 의존 관계 자동 주입 본문

Spring

스프링의 핵심 원리 이해 - 의존 관계 자동 주입

Hyunebee 2022. 1. 5. 09:50

다양한 의존 관계 주입방법

1. 생성자 주입

 생성자 호출시점에 딱 1번만 호출되는것을 보장한다.

 불변 필수 의존관계에 사용한다.

2. 세터주입

 변경, 선택 가능성이 있는 의존 관계에 사용

3. 필드주입

 사용하지 말자(테스트가 어렵고, DI프레임워크가 없다면 사용할 수 도 없다.)

4. 메서드 주입

 한번에 여러 필드를 주입 받을 수 있다. 

 

빈 우선 순위 결정

@Qualifier

  -> @Qualifier("mainDiscountPolicy") 

  -> public DiscountPolicy setDiscountPolicy(@Qualifier("mainDiscountPolicy") 

  이렇게 서로 매칭 시켜서 사용한다. 만약 해당 빈이름이 없다면 오류 발생

@Primary

  해당 어노테이션이 붙어있는것이 우선순위를 가진다.

 

둘중 우선순위는 @Qualifier > @Primary

 

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8