Spring的FactoryBean使用

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

若是你们有看过Mybatis的SessionFactoryBean和Activiti初始化引擎的ProcessEngineFactoryBean两个类就应该了解FactoryBean的具体使用。

首先定义一个产品的实体类


建立一个产品的工厂类:



注入到Spring的配置文件中:



写一个测试类测试一下:



因而可知,经过使用FactoryBean,咱们能够获得不一样类型的对象实例。这也就是咱们在AOP中经过设置calss为ProxyFactoryBean能够返回不一样类型的业务对象的原理。在实际应用中若能灵活使用FactoryBean,则能够给应用程序增长不少的魔幻功能。
相关文章
相关标签/搜索