Spring中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean,即FactoryBean。工厂Bean跟普通Bean不同,其返回的对象不是指定类的一个实例,其返回的是该工厂Bean的getObject方法所返回的对象。

 
如果大家有看过Mybatis的SessionFactoryBean和Activiti初始化引擎的ProcessEngineFactoryBean两个类就应该了解FactoryBean的具体使用。
 
首先定义一个产品的实体类
Spring的FactoryBean使用
 
创建一个产品的工厂类:
 
Spring的FactoryBean使用
 
注入到Spring的配置文件中:
 
Spring的FactoryBean使用
 
写一个测试类测试一下:
 
Spring的FactoryBean使用
 
由此可见,通过使用FactoryBean,我们可以得到不同类型的对象实例。这也就是我们在AOP中通过设置calss为ProxyFactoryBean可以返回不同类型的业务对象的原理。在实际应用中若能灵活使用FactoryBean,则可以给应用程序增加很多的魔幻功能。

相关文章:

  • 2021-11-28
  • 2022-03-08
  • 2021-06-18
  • 2022-01-23
  • 2021-11-24
  • 2021-07-01
猜你喜欢
  • 2021-08-25
  • 2021-04-16
  • 2021-11-02
  • 2021-07-12
  • 2021-12-01
相关资源
相似解决方案