본문 바로가기

Spring

Spring에 등록된 Bean들을 조회해보자~

https://jootang2.tistory.com/144

 

Spring을 통해 의존관계 주입해보기!

https://jootang2.tistory.com/127 Spring에서 순수 Java코드로 의존관계 주입해보기 (OCP,DIP 문제를 어떻게 해결하지?) 원리를 모르고 기능만 사용해서 결과물 내기에만 급급했었다. 이제는 결과물을 내는 것

jootang2.tistory.com

전 포스팅에서는 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을 조회하는 방법을 알아봤다.

 

다음에는 동일한 타입이 둘 이상인 경우에 대해서 알아보자!

 

 

스프링 핵심 원리 - 기본편 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런

www.inflearn.com

주말에 혼자 차를 끌고 나를 데리러 왔다.

아주 기특하고 뿌듯하다.

베스트드라이버 밍지박사다!!