공간
Bean < Context < Container
Bean이란?
기본적으로 Singleton으로 생성된다
Spring Continer를 통해서 관리되는 인스턴스(IOC)
Sprin IOC Container가 관리하는 자바 객체
ApplicationContext.getBean()으로 얻어질 수 있는 객체가 빈이다.
반대로 new 연산자로 객체를 생성했을 때 그 객체는 빈이 아니다.
Bean 등록 방법
1 Component Scanning
-@ComponentScan과 @Component 사용
2 빈 설정파일에 직접 Bean을 등록한다.
Context란?
Bean의 확장 버전으로, 단순히 Bean을 다루는 것 외에도 추가적인 기능을 제공한다.
+Persistence Context(영속성 컨텍스트)
영원히 저장해야하는 Context
DB조작시 중간 중개자이다.
- 영속성,준영속,불역속이 있다.
Container란?
두가지 유형
1 Bean Factory
스프링 컨테이너의 최상위 인터페이스입니다.
스프링 빈을 관리하고 조회하는 역할을 담당합니다.
2 ApplicationContext
BeanFactory 기능을 모두 상속받아서 제공합니다.
@Configuration이 붙은 클래스를 설정정보로 사용합니다.
ApplicationContext는 BeanFactory의 기능을 상속 받습니다.
ApplicationContext는 빈 관리기능 + 편리한 부가 기능을 제공합니다.
BeanFactory를 직접 사용하는 일은 거의 없으며, 부가기능이 포함된 ApplicationContext를 사용합니다.
BeanFactory나 ApplicationContext를 스프링 컨테이너라 합니다.