본문 바로가기

웹 프로그래밍/스프링

스프링 컨테이너와 스프링 빈

스프링 컨테이너

-ApplicationContext는 인터페이스이며 스프링 컨테이너임

-new AnnotationConfigApplicationContext(AppConfig.class); 에서 AppConfig.class로 구성정보 지정

 


스프링 컨테이너 안

스프링 빈 저장소

빈 이름(key) 빈 객체(value)
   
   
   

 

AppConfig.class 클래스 정보를 사용해서 @Bean이 붙은 메세드를 호출하여 스프링 빈 등록(네임, 객체)

스프링 컨테이너는 설정정보를 참고해서 의존관계를 주입(DI)

 

스프링 빈의 라이프 사이클

-객체생성 단계 -> 의존관계 주입 단계 (예외, 생성자 주입은 객체생성때 의존관계 주입)

 

스프링 빈 조회-상속관계

-부모 타입으로 조회하면, 자식 타입도 함께 조회함(다 끌고옴)

-e.g. Object타입으로 조회 하면 모든 스프링 빈을 조회함

 

BeanFactory

-스프링 컨테이너의 최상위 인터페이스

-스프링 빈을 관리 및 조회

 

ApplicationContext

-BeanFactory를 상속

-여러가지 부가기능(메세지소스를 활용한 국제화 기능, 환경변수, 애플리케이션 이벤트, 편리한 리소스 조회)

 

 

'웹 프로그래밍 > 스프링' 카테고리의 다른 글

컴포넌트 스캔  (0) 2023.02.16
싱글톤 패턴  (0) 2023.02.15
IoC, DI, 컨테이너  (0) 2023.02.14
AppConfig  (0) 2023.02.14
좋은 객체 지향 설계의 5가지 원칙(SOLID)  (0) 2023.02.12