Framework(2)
1. Inversion of Control
<제어 역행 및 dependency lookup 개요>
2. BEAN life cycle
- 스프링 프레임워크를 비롯한 Ioc Container는 자신이 관리하는 BEAN의 life cycle을 관리하고 특정시점에 BEAN에게 이를 알려주는 메커니즘- wiring 작업을 통해 instance 생성, 소멸 과정까지의 주기
- life cycle에 참여: instance 생성 및 소멸시에 개입 가능, init()과 destroy()를 주로 사용
3. pattern(유형)
예) VO pattern, DAO pattern, Front controller pattern, Singleton pattern ...- Singleton pattern: static으로 자기 자신을 선언
private 접근제한자 필드에서 사용
getInstance()를 사용하여 자기 자신을 이용할 수 있게 객체 생성
→ instance를 Factory method를 이용하여 생성할 때
instance를 여러개 생성하지 않을 경우
※ container(by weight)
- light weight container: 빠른 구동 / 유연함 / 컨테이너 내에 object 배치가 용이
예) POJO 기반 컨테이너
- heavy weight container: coupling 관계가 존재
예) servlet 컨테이너, jsp 컨테이너 → servlet과 jsp는 컨테이너를 제거하면 사용불가
4. FactoryBean(interface)
- 다양한 instance 생성법을 하나의 일관된 방법으로 처리 + spring framework 통합 자원- getObject() : instance를 생성하거나 획득하여 spring에서 관리할 객체를 리턴함
- getType() : getObject()에서 리턴되는 객체의 타입을 명시함
(null이어도 상관없지만, 타입을 명시 했을 때 해당 type 기반으로 Autowired 가능)
- isSingleton() : getObject()에서 리턴되는 객체가 singleton인지 true/false로 판단