[Spring] 조회 빈이 두 개 이상일 때 해결편
2023. 10. 14. 23:49ㆍSpring
크게 세가지 방법이 있다.
첫 번째는 필드나 파라미터의 이름을 원하는 빈의 이름으로 바꿔주면 @Autowired는 매칭을 해준다.
예를 들어, rateDiscountPolicy라고 파라미터를 정해주면 이름이 rateDiscountPolicy인 빈을 선택한다.
두 번째는 @Qualifier(name)을 붙여주고 파라미터 왼쪽에 지정하고자 하는 @Qualifier(name)을 붙여준다.
세 번째는 @Primary를 활용한다. @Primary를 붙여주면 이것이 붙지 않은 빈보다 우선순위가 높아진다.
실무에서 주로 활용하는 방법은 메인 데이터베이스에는 @Primary를 붙여주고 서브에는 @Qualifier를 붙여준다. 그리고 필요할 때면 @Qualifier로 주입한다. @Qualifier로 지정한 것이 @Primary보다 우선순위가 더 높기 때문이다.
@Autowired는 먼저 타입으로 빈을 찾고 두 개이상의 빈이 조회된다면 매개변수나 필드로 매칭한다.
필드 주입할 필드명을 같게 해주면 그걸 주입해준다.
Reference
학습 페이지
www.inflearn.com
'Spring' 카테고리의 다른 글
[Spring] 조회한 빈이 모두 필요할 때에 대한 나름의 이해 (0) | 2023.10.18 |
---|---|
[Spring] 애노테이션 직접 만들기 (1) | 2023.10.17 |
[Spring] 조회 빈이 두 개 이상일 때 생기는 문제에 대한 나름의 이해 (0) | 2023.10.12 |
[Spring] 롬복에 대한 나름의 이해 (0) | 2023.10.09 |
[Spring] gradle lombok 설정할 때 버전 오류 해결 (1) | 2023.10.09 |