목록Spring IoC Container (3)
Gentle Breeze
참고 : http://springindepth.com/book/in-depth-ioc.html XML 에서 Spring Bean 을 설정할 때 일반적으로 id , name 의 attribute 에 값을 설정해 IoC Container에 유일한 식별자가 되도록 하지만 때로는 하나의 Spring Bean 에 복수의 식별자를 설정을 해야하는 상황이 발생한다. 예를들어 ▲ Click to Enlarge 위와같이 2개로 분리되어 사용중인 DataSource 를 하나의 Bean 으로 묶어 하나의 DataSource 로 사용하고 싶을 경우 아래와 같이 alias 를 이용하여 설정하면 된다. ▲ Click to Enlarge
* Spring IoC Container는 두가지 유형의 Container 제공 - BeanFactory (부모) - Lazy Loading : Lookup 시점이 아닌 실제 메소드가 호출되는 시점(사용되는 시점)에 객체를 생성 - ApplicationContext (자식) - Free Loading : 객체를 미리 생성해서 pool에 저장해 둔 다음 Loading (속도가 빠름) - BeanFactory를 상속받아 구현되어 있으므로 BeanFactory의 모든 기능을 제공하며 추가적으로 더 많은 기능을 제공한다. * Bean - Spring IoC Container에 의해 관리되는 객체 - loading 된 xml 파일을 통해 생성됨 - id, class 등의 메타데이터 속성을 통해 xml 파일에 기술..
* IoC (Inversion of Control) : 제어의 역행 (= Dependency Inversion / Hollywood Principle) - 객체가 생성될 때 필요로 하는 다른 객체들을 Container가 생성하여 주소값을 제공해 줌 * IoC와 Dependency Injection 간의 관계 - Dependency Injection 은 Spring 에서만 지원 - 생성자 주입 방식은 거의 사용되지 않음 * Dependency Lookup 과 Dependency Injection 의 차이점 - Dependency Lookup : Bean을 개발자가 직접 Lookup 하여 사용하는 것 - Dependency Injection : 각 계층 사이, 각 클래스 사이에 필요로 하는 의존관계가 있다면..