Spring factory bean/FactoryBean/BeanFactory 的区别简记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/andy_zhang2007/article/details/83964361
  • factory bean

配置到容器中用来通过实例方法创建其他bean的一种bean。

例子 (此例子来自Spring官方文档) :

<!-- factory bean, 这是一个bean,包含了一个实例方法 createInstance() 用于创建其他某种类型的bean实例 -->
<bean id="serviceLocator" class="examples.DefaultServiceLocator">
    <!-- 这里省略了对该bean的依赖注入 -->
</bean>

<!-- 通过上面定义的 factory bean 及其创建其他bean的实例方法定义另外一个 bean-->
<bean id="clientService"    factory-bean="serviceLocator"   factory-method="createClientServiceInstance"/>
  • FactoryBean

一个接口,Spring扩展机制的一部分,也用在bean实例化方面,但通常用在bean初始化过程较为复杂,如果通过XML方式的话需要大量的配置,很难表达清楚,此时希望通过Java代码方式更好地实现,这种情况下就可以实现该接口提供自己的FactoryBean从而包装复杂的bean初始化过程。

  • BeanFactory

表示Spring容器本身,用于对容器内的bean进行基本的管理。这是一个接口,接口ApplicationContext就继承自该接口。

猜你喜欢

转载自blog.csdn.net/andy_zhang2007/article/details/83964361