
许久没记录笔记了,这回来重新熟悉一下 Spring 中 FactoryBean 的使用,顾名思义,它是用来获得相应 Bean 的工厂的。它与另一个 Spring 中的接口 BeanFactory 的作用不一样的,不能多说了。FactoryBean 和 BeanFactory 都是在
org.springframework.beans.factory包中,谁能一看类名搞清楚它们的差别?- FactoryBean: 用于创建某个特定的 Spring bean 的工厂类
- BeanFactory: Spring 上下文的最顶层接口,如
ApplicationContext就继承了该接口,它可称之为所有 Spring bean 的工厂
这儿说的是第一个 FactoryBean, 它的接口声明是
1public interface FactoryBean<T> { 2 T getObject() throws Exception; 3 Class<?> getObjectType(); 4 boolean isSingleton(); 5}它最终的效果是,Spring 容器中注册一个名称为 abcFactoryBean 的
AbcFactoryBean实例,通后名称abcFactoryBean获得的实际上是相应AbcFactoryBean.getObject()返回的对象,类型为getObjectType(),isSingleton()是否是单例。 Read More