关于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()。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容