| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- JVM Heap
- 정처기 합격
- java
- 제이큐그리드
- 정보처리기사 합격
- ResponseBody
- MariaDB
- jqgrid 개념
- JQuery
- 자바
- extends
- SQL
- Javascript
- mysql
- HTTP
- 스프링
- Class
- implements
- Where
- spring
- 트랜잭션
- 어노테이션
- Model
- HTML
- ModelAndView
- ModelMap
- jqGrid
- View
- 개발자 이직
- 정보처리기사 필기
- Today
- Total
크리스의 개발일기
[Spring] 스프링 컨테이너(Spring Container)란? 본문
What is Spring Container?
-. 컨테이너는 보통 객체(Bean)들의 생명주기(Life Cycle)을 관리하며, 생성된 인스턴스들에게 추가적인 기능을 제공하도록하는 것
-. 작성한 코드의 처리과정을 위임받은 독립적인 존재라고 할 수 있습니다.
-. 흔히 Application Context를 스프링 컨테이너라고 합니다.
-. 파라미터로 넘어온 설정 클래스 정보(Config에 @Bean 등...)를 Spring Bean에 등록 합니다.
Spring Container 종류
1. Bean Factory
-. 객체를 생성하고, 객체 사이의 런타임 의존관계를 맺어주는 역할을 하는 스프링 컨테이너의 최상위 인터페이스
-. 스프링 빈을 관리하고 조회하는 역할을 담당한다.
2. Application Context
-. 일반적으로 Spring Container라고 하면 Application Context를 의미한다.
-. Bean Factory를 포함한 여러 인터페이스들을 상속받은 인터페이스.
-. Bean Factory에 상속 받아 Bean을 관리하고 검색하는 기능을 Bean Factory가 제공해주지만 아래와 같은 부가 기능들을 제공한다.
-. 구현시에 new AnnotationConfigApplicationContext(클래스이름.class) 를 사용한다.

- MessageSource : 메세지 다국화를 위한 인터페이스
- EnvironmentCapable : 개발, 운영 등 환경을 분리해서 처리하고, 애플리케이션 구동에 필요한 정보들을 관리하기 위한 인터페이스
- ApplicationEventPublisher : 이벤트를 발행하고 구독하는 모델을 편리하게 지원하는 인터페이스
- ResourceLoader : 파일, 클래스패스, 외부 등 리소스를 읽어오기 위한 인터페이스
3. Spring Container 생성 과정
1. Spring Container 생성
new AnnotationConfigApplicationContext(AppConfig.class);
-. Appconfig.class에 스프링 컨테이너 구성정보를 지정했다.

2. Spring Bean 등록
-. 스프링 컨테이너에 key: Bean name, value: Bean Object로 들어간다.
-. @Bean default name 은 beanA이다.

3. 스프링 빈 의존관계 설정
-. Spring Container가 Spring Bean을 등록한 후에 의존 관계를 자동으로 넣어 준다.

출처 :
https://dev-aiden.com/spring/Spring-Container/
'Spring' 카테고리의 다른 글
| [Spring] Spring 특징 (작성중) (0) | 2022.04.06 |
|---|---|
| [Spring] Spring MVC Controller return 타입에 대해서 (0) | 2020.11.30 |
| [Spring] model.addAttribute() 메소드 (0) | 2020.11.30 |