BeanFactory
- 스프링 컨테이너의 최상위 인터페이스
- 스프링 빈을 관리하고 조회하는 역할을 담당
- getBean() 제공
ApplicationContext
- 빈 관리기능 + 편리한 부가 기능 제공
- 메시지소스를 활용한 국제화 기능
- 환경변수
- 애플리케이션 이벤트
- 이벤트를 발행하고 구독하는 모델을 편리하게 지원
- 편리한 리소스 조회
XML 설정 사용
// xml
<bean id="userService" class="UserServiceImpl 경로">
<constructor-arg name="userRepository" ref="userRepository"/>
</bean>
<bean id="userRepository" class="MemoryUserRepository 경로" />
<bean id="orderService" class="Impl경로">
// userRepository
// discountPolicy
</bean>
// 여기를 고려
<bean id="discountPolicy" class="RateDiscountPolicy 경로"/>
BeanDefinition
- 빈 설정 메타정보라 함
- class, xml, xxx 등을 읽어서 BeanDefinition을 만들고
- 스프링 컨테이너는 BeanDefinition만 알고자 함
- BeanClassName: 생성할 빈의 클래스명
- factoryBeanName: 팩토리 역할의 빈을 사용할 경우 이름
- factoryMethodName: 빈을 생성할 팩토리 메서드 지정
- Scope: 싱글톤
- lazyInit: 스프링 컨테이너를 생성할 때 빈을 생성하는 것이 아니라, 실제 빈을 사용할 때 까지 최대한 생성을 지연 처리하는지 여부
- InitMethodName: 빈을 생성하고, 의존관계를 적용한 뒤에 호출되는 초기화 메서드 명
- DestroyMethodName: 빈의 생명주기가 끝나서 제거하기 직전에 호출되는 메서드 명
- Contructor arguments, Properties: 의존관계 주입에서 사용한다
'Spring > Basic' 카테고리의 다른 글
[Basic] 컴포넌트 스캔 (0) | 2024.08.27 |
---|---|
[Basic] 싱글톤 컨테이너 (0) | 2024.08.27 |
[Basic] 의존 관계 설정 관련해서 알면 좋은 개념 (0) | 2024.08.21 |
[Basic] 간단하게 기억할 내용 (0) | 2024.08.21 |
[Basic] Tomcat 직접 등록을 통한 환경 세팅 방법 (0) | 2024.08.09 |