https://jootang2.tistory.com/144
전 포스팅에서는 Spring에서 사용할 bean들을 spring의 기능들을 통해서 생성했다.
이제 이 생성한 bean들을 어떻게 조회하는 지 알아보자.
1. bean의 이름으로 조회하기
class Test {
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);
@Test
@DisplayName("빈 이름으로 조회")
void findBeanByName() {
BeanTest beanTest = ac.getBean("beanTest", BeanTest.class);
assertThat(beanTest).isInstanceOf(BeanTest.class);
}
}
//ac(spring container)에 등록된 bean 중 "memberService" 이름인 bean을 조회한다.
2. 구체 타입으로 조회하기
@Test
@DisplayName("구체 타입으로 조회")
void beanTest2() {
BenaTestImpl beanTest = ac.getBean("beanTest", BeanTest.class);
assertThat(beanTest).isInstanceOf(BeanTestImpl.class);
}
3. Bean 이름으로 조회 시 일치하지 않는 다면 구체 타입으로 조회할 수 있다.
@Test
@DisplayName("빈 이름으로 조회X")
void beanTest3() {
Assertions.assertThrows(NoSuchBeanDefinitionException.class, () -> ac.getBean("xxxxx", BeanTest.class));
}
이렇게 기본적인 bean을 조회하는 방법을 알아봤다.
다음에는 동일한 타입이 둘 이상인 경우에 대해서 알아보자!
주말에 혼자 차를 끌고 나를 데리러 왔다.
아주 기특하고 뿌듯하다.
베스트드라이버 밍지박사다!!
'Spring' 카테고리의 다른 글
Bean이 뭐에요? 그렇다면 객체는 뭔가요? 설명해주세요. (2) | 2023.03.09 |
---|---|
Spring bean 조회 시 같은 타입이 두 개 이상인 경우는 어떻게 해요~? (2) | 2023.03.06 |
Spring을 통해 의존관계 주입해보기! (2) | 2023.02.17 |
Spring에서 순수 Java코드로 의존관계 주입해보기 (OCP,DIP 문제를 어떻게 해결하지?) (0) | 2023.01.10 |
AOP는 또 뭐에요? 처음 들어봐요 (0) | 2023.01.05 |