의존관계 주입 시 스프링 빈이 2개 이상 조회될 때 (feat. @Qualifier, @Primary)
@Autowired를 통해 의존관계를 주입할 때, spring은 type을 통해 적절한 구현체를 찾아 주입해준다. 이때, type이 일치하는 spring bean이 여러 개라면 어떻게 될까? 다음과 같은 error 가 난다. NoUniqueBeanDefinitionException 하나의 matching을 기대했지만 2개가 matching 된댄다. (참 친절하다..) 해결 방법은 세 가지가 있다. 1. 의존관계 주입시 변수명을 주입할 객체와 동일하게 한다. 위와 같이 구현체의 변수명을 특정하면 스프링이 type과 match 되는 것이 여러 개일 경우 변수명을 통해 적절한 구현체를 주입해준다. 하지만 이 방법은 의존관계를 바꿀 때 클라이언트의 코드를 수정하는 것이므로 개방-폐쇄 원칙을 위반한다. 2. @Q..
SPRING
2021. 5. 18. 14:40
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 토비
- 자바스터디
- 템플릿콜백
- 객체지향
- 서비스추상화
- java
- 데코레이터패턴
- 스프링
- c++
- 프록시
- OOP
- 자바
- provider
- 예외처리
- 프록시패턴
- 메서드레퍼런스
- 코테
- AOP
- SOLID
- ec2
- 코딩테스트
- 백기선
- 김영한
- 디자인패턴
- gracefulshutdown
- 토비의봄TV
- 카카오
- 토비의스프링
- BOJ
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함