1. 메타정보 리소스
- 설정 메타정보의 내용을 표현한 리소스를 말한다.
- 일반적으로 xml 파일이나 annotation같은 외부 리소스를 말한다.
- 성격, 관리 주체, 계층, 팀 등에 따라 여러 리소스 파일을 분리하여 하나의 컨텍스트에 등록할 수도 있다.
2. 메타정보 리더
- 메타정보 리소스를 읽는 오브젝트를 말한다.
- 일반적으로 BeanDefinitionReader 인터페이스 타입의 오브젝트를 사용한다.
3. 설정 메타정보
- Bean을 어떻게 만들고 어떻게 동작하게 할 것인가에 대한 정보다.
- 일반적으로 메타정보는 BeanDefinition 인터페이스 타입의 오브젝트에 담는다.
Bean 설정 정보 : BeanDefinition의 핵심 항목
※ 이미지는 https://title-developer.tistory.com/107 블로그에서 스캔본을 가져왔다.
4. POJO 클래스
- Plain Old Java Object의 약자로, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 객체지향적인 원리에 충실한 오브젝트를 말한다.
5. IoC 컨테이너(Application Context)
- Bean 팩토리이면서 엔터프라이즈 애플리케이션을 개발하는 데 필요한 다양한 컨테이너 기능을 추가한 것이다.
- 최초로 애플리케이션을 기동해주는 bean 하나를 서블릿에게 제공해준다.
※ 웹 애플리케이션 컨텍스트는 웹 애플리케이션이 시작됐을 때 생성되고, 서블릿은 웹 애플리케이션 컨텍스트에게 기동 역할을 해줄 bean을 요청해서 받아둔다.
- 일반적으로 웹 애플리케이션 레벨에서 하나, 서블릿 레벨에서 하나, 즉 2개의 컨테이너가 만들어진다. 웹 애플리케이션 레벨에 등록되는 (루트)컨텍스트가 서블릿 레벨의 컨텍스트들의 부모 컨텍스트가 된다.
※ 위와 같은 점을 이용하여 각 서블릿이 공유하게 되는 공통적인 bean들을 웹 애플리케이션 레벨의 컨텍스트에 등록하면 bean의 중복 생성을 방지할 수 있다.
- ApplicationContext 인터페이스는 BeanFactory 인터페이스를 상속한다.
6. Spring Application
- POJO 클래스와 설정 메타정보를 이용해 IoC 컨테이너가 만들어주는 오브젝트들의 조합
참고 자료: 토비의 스프링 3.1 vol.2
'Spring Series > Spring Framework' 카테고리의 다른 글
[Spring] @Qualifier 이란? (0) | 2022.06.17 |
---|---|
[Spring] @Autowired의 4가지 사용 방법 (0) | 2022.06.17 |
[Spring] XML 설정 방식을 Annotation으로 바꾸기 (0) | 2022.05.06 |
[Spring] 리소스 추상화 (0) | 2022.05.01 |
[Spring] Static 멤버 클래스를 Bean으로 등록하기 (0) | 2022.04.14 |
댓글