ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링 컨테이너와 스프링 빈
    Spring/스프링 핵심 원리 - 기본편 2022. 8. 4. 01:40

    [인프런] 스프링 핵심 원리 - 기본편

     

     

    < 스프링 빈 의존관계 설정 >

     

    스프링 빈 조회

    스프링 빈을 찾는 가장 기본적인 조회 방법

    ac.getBean(빈 이름, 타입)
    ac.getBean(타입)

    📎조회 대상 스프링 빈이 없으면 발생하는 예외

    NoSuchBeanDefinitionException: No bean named 'xxxxx' available

     

    📎타입으로 조회할 때 같은 타입의 스프링 빈이 두 개 이상 있으면 오류 발생 => 빈 이름 지정하기

    ac.getBeanOfType()

        ↪ 해당 타입의 모든 빈 조회 가능

     

     

    스프링 빈을 조회할 때 상속관계

    • 부모 타입으로 조회하면, 자식 타입도 모두 함께 조회됨 => Object로 조회하면 모든 스프링 빈 조회함 ⭐
    •  

    📍BeanFactory와 ApplicationContext

          📎BeanFactory는 스프링 컨테이너의 최상위 인터페이스

          📎ApplicationContext는 BeanFactory의 기능을 상속받고 편리한 부가 기능을 추가 제공함

          📎보통 ApplicationContext를 사용하고 BeanFactory와 ApplicationContext를 모두 스프링 컨테이너라 함

     

    ApplicationContext가 제공하는 부가기능

    • MessageSource
    • EnvironmentCapable
    • ApplicationEventPublisher
    • ResourceLoader

     

    지금까지는 애노테이션 기반 자바 코드 설정을 사용함

    XML 설정 사용 맛보기

    • XML을 사용하면 컴파일 없이 빈 설정 정보 변경 가능
    • 애노테이션 방법과 구조는 거의 비슷함

     

    📍정리

    • 스프링이 다양한 설정 형식을 지원할 수 있는 이유: BeanDefinition 으로 추상화해서 사용하기 때문⭐
    • 우리가 보통 @Bean으로 사용하는 건 BeanFactory 방식
Designed by Tistory.