반응형
스프링 컨테이너는 객체 관리를 위한 다양한 기능을 제공한다. 이와 관련된 기능이 ApplicationContext 인터페이스에 정의되어 있으며 이를 컨테이너라고 부른다. 이를 확장한 클래스들을 이용해 다양한 방식으로 객체의 설정 정보를 가져올 수 있다.
스프링은 객체 컨테이너
스프링의 핵심 기능은 객체를 생성하고 초기화하는 것이다. 이와 관련된 기능이 ApplicationContext라는 인터페이스에 정의되어 있으며, AnnotationConfigApplicationContext 클래스는 자바 클래스에서 정보를 읽어와 객체 생성과 초기화를 수행한다.
관련 클래스 계층도 및 각 클래스 설명
BeanFactory
|
...
|
ApplicationContext
|
...
|
AnnotationConfigApplicationContext, GenericXmlApplicationContext, GenericGroovyApplicationContext
BeanFactory
- 객체 생성과 검색에 대한 기능 정의 (ex - getBean() 메서드)
- 싱글톤/프로토타입 빈인지 확인하는 기능 제공
ApplicationContext
- 메시지, 프로필/환경 변수 등을 처리할 수 있는 기능을 추가로 정의
AnnotationConfigApplicationContext
- 자바 애노테이션을 이용한 클래스로부터 객체 설정 정보를 가져온다.
GenericXmlApplicationContext
- XML로부터 객체 설정 정보를 가져온다.
GenericGroovyApplicationContext
- 그루비 코드를 이용해 설정 정보를 가져온다.
스프링 컨테이너
- 내부적으로 빈(Bean) 객체와 빈(Bean) 이름을 연결하는 정보를 갖는다.
- 실제 객체의 생성, 초기화, 의존 주입 등 객체 관리를 위한 다양한 기능 제공한다.
- ApplicationContext(또는 BeanFactory)을 컨테이너라고 부른다.
싱글톤 객체
- 싱글톤은 단일 객체를 의미한다.
- 스프링은 기본적으로 한 개의 @Bean 애노테이션에 대해 한 개의 빈 객체만을 생성한다.
참고 서적: <초보 웹 개발자를 위한 스프링 5 프로그래밍 입문>
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
728x90
반응형
'Java > [스프링 5 프로그래밍 입문]' 카테고리의 다른 글
[Spring] 의존 자동 주입(1) - @Autowired 애노테이션 (0) | 2021.07.30 |
---|---|
[Spring] 스프링 애노테이션을 사용한 의존 주입(DI) (0) | 2021.07.28 |
[Spring] 스프링에서의 의존 주입(DI)의 의미와 사용법 (0) | 2021.07.28 |
Dependency, DI, Assembler (의존, 의존 주입, 주입기) 개념 정리 (0) | 2021.07.22 |
[Spring] 스프링 프로젝트 시작하기 (Maven) (0) | 2021.07.21 |
댓글