关于Spring FactoryBean 我的理解

字面意思:工厂bean

解释:工厂bean不是我们程序中需要直接使用的bean,但可以用它来帮我们得到我们想要的bean,它帮我们隐藏了真正bean构建的过程。

我们想要某种bean,可能很多个,可能在某个指定的包下,bean的构建细节较多,有不同的参数,构建逻辑还需要支持可拓展,方便维护。这个时候 factoryBean 就可以发挥作用了。
参考:mybatis - MapperFactoryBean
MapperFactoryBean 与具体 的Mapper 一一对应,通过MapperFactoryBean ,我们可以将Mapper具体的创建进行统一封装,方便拓展维护。其实也是一种解耦的具体操作。
我的bean我来决定它如何创建,我决定它的生死,你决定我就好。

关于Spring 中 factoryBean 的特性:

如果创建了 ***FactoryBean ,那么IOC中 真正存在的 bean 为两个,一个是 &beanName 对应的 ***FactoryBean 实例,一个是 beanName 对应的 ***FactoryBean 中管理的 目标实例getObject()。

你可能感兴趣的:(关于Spring FactoryBean 我的理解)