기본 콘텐츠로 건너뛰기

3.02 Framework(2)

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로 판단