스프링 빈 조회 - 동일한 타입이 둘 이상
@Test
@DisplayName("타입으로 조회시 같은 타입이 둘 이상 있으면, 중복 오류가 발생한다")
void findBeanByTypeDuplicate(){
//MemberRepository bean = ac.getBean(MemberRepository.class);
//예외 터지는 것이 성공하는 로직이다!
assertThrows(NoUniqueBeanDefinitionException.class,//발생할 에러
() -> ac.getBean(MemberRepository.class));//실행되는 로직
}void findBeanByName(){
MemberRepository memberRepository
= ac.getBean("memberRepository1",MemberRepository.class);
assertThat(memberRepository).isInstanceOf(MemberRepository.class);
}@Test
@DisplayName("특정 타입을 모두 조회하기")
void findAllBeanByType(){
Map<String, MemberRepository> beansOfType = ac.getBeansOfType(MemberRepository.class);
for (String key : beansOfType.keySet()) {
System.out.println("key = " + key + "value = "+ beansOfType.get(key)) ;
}
System.out.println("beansOfType = " + beansOfType);
assertThat(beansOfType.size()).isEqualTo(2);
}Last updated