본문 바로가기

아는 만큼 보인다/Spring Framework

스프링이 빈 오브젝트를 생성하는 방법

1. 일반 클래스가 빈의 클래스로 지정된 경우

빈 오브젝트 => Class.forName("지정된 클래스 이름").newInstance();

빈 타입 => 지정된 클래스 타입


2. FactoryBean<T> 인터페이스를 구현한 클래스가 빈의 클래스로 지정된 경우

빈 오브젝트 => FactoryBean오브젝트.getObject();

빈 타입 => FactoryBean오브젝트.getObjectType();


3. BeanPostProcessor(빈후처리기) 인터페이스를 구현한 클래스가 빈의 클래스로 지정된 경우

빈 오브젝트 => 생성된 빈이 후처리 대상인 경우, 
                      Proxy.newProxyInstance(..)로 생성한 프록시 오브젝트로 대체한다.

빈 타입 => 대체할 빈과 같은 인터페이스 타입