Spring之BeanFactory和FactoryBean的区别

Posted 小明学习心得

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring之BeanFactory和FactoryBean的区别相关的知识,希望对你有一定的参考价值。

BeanFacotry

BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。 
ApplicationContext接口,它由BeanFactory接口派生而来,ApplicationContext包含BeanFactory的所有功能,通常建议比BeanFactory优先

FactoryBean

一般情况下,Spring通过反射机制利用<bean>的class属性指定实现类实例化Bean,在某些情况下,实例化Bean过程比较复杂,如果按照传统的方式,则需要在<bean>中提供大量的配置信息。配置方式的灵活性是受限的,这时采用编码的方式可能会得到一个简单的方案。Spring为此提供了一个org.springframework.bean.factory.FactoryBean的工厂类接口,用户可以通过实现该接口定制实例化Bean的逻辑。FactoryBean接口对于Spring框架来说占用重要的地位,Spring自身就提供了70多个FactoryBean的实现


以上是关于Spring之BeanFactory和FactoryBean的区别的主要内容,如果未能解决你的问题,请参考以下文章

Spring之BeanFactory详解

转:Spring系列之beanFactory与ApplicationContext

Spring系列之beanFactory与ApplicationContext

Spring系列之beanFactory与ApplicationContext

Spring系列之beanFactory与ApplicationContext

Spring源码分析带你正视一下Spring祖容器之BeanFactory的原理与功能分析