一、FactoryBean
在Spring中Bean有两种,一种是普通bean,一种是FactoryBean,通俗一点就是工厂Bean,FactoryBean可以⽣成某⼀个类型的Bean实例(返回给我们),也就是说我们可以借助于它⾃定义Bean的创建过程。以下是FactoryBean的源码:

下面使用FactoryBean创建自定义的Bean。
首先创建Company类:

创建CompanyFactoryBean类,实现FactoryBean接口:

xml中注册Company对象,此时需要使用CompanyFactoryBean来注册:

测试代码:

测试结果为:

获取FactoryBean则需要在id前加上&符号,如下所示:

测试结果为:

简单来说,我们可以通过实现FactoryBean来实现自定义的复杂Bean的初始化。
二、BeanFactory
BeanFactory接⼝是容器的顶级接⼝,定义了容器的⼀些基础⾏为,负责⽣产和管理Bean的⼀个⼯⼚,具体使⽤它下⾯的⼦接⼝类型,⽐如ApplicationContext。在Spring的源码中,就是以BeanFactory来作为实现的主链路。
本文介绍了Spring中的FactoryBean和BeanFactory的概念及其作用。FactoryBean用于自定义Bean的创建过程,通过实现FactoryBean接口可以创建复杂的Bean实例。而BeanFactory作为Spring容器的顶级接口,负责管理和生产Bean。示例展示了如何使用FactoryBean创建自定义Bean,并在XML配置中进行注册。测试结果显示,通过FactoryBean获取Bean需要特殊标识。同时,文章也提及BeanFactory在Spring容器实现中的重要性。
723

被折叠的 条评论
为什么被折叠?



