首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Spring中Bean多种实现切换提案

2013-09-15 
Spring中Bean多种实现切换方案 一个公共工程中的Spring配置文件,可能会被多个工程引用。因为每个工程可能只

Spring中Bean多种实现切换方案

 

一个公共工程中的Spring配置文件,可能会被多个工程引用。因为每个工程可能只需要公共工程中的一部分Bean,所以这些工程的Spring容器启动时,需要区分开哪些Bean要创建出来。另一种场景是:想通过Properties文件中的配置开关,就将Spring配置文件中Bean的实现切换成另一套。

 

方法一:Qulifier区分Bean1.1应用实例

以Apache开源框架Jetspeed中的一段配置为例:page-manager.xml

===============================================================================

<bean class="org.springframework.beans.factory.config.BeanReferenceFactoryBean">    <meta key="j2:cat"value="xmlPageManager" />    <meta key="j2:alias"value="org.apache.jetspeed.page.PageManager" />    <propertyname="targetBeanName" value="xmlPageManager" />  </bean>   <bean class="org.springframework.beans.factory.config.BeanReferenceFactoryBean">    <meta key="j2:cat"value="dbPageManager" />    <meta key="j2:alias"value="org.apache.jetspeed.page.PageManager" />    <propertyname="targetBeanName" value="dbPageManager" />  </bean>   <bean id="org.apache.jetspeed.layout.PageLayoutComponent"    class="org.apache.jetspeed.layout.impl.PageLayoutComponentImpl">    <meta key="j2:cat"value="default" />    <constructor-arg index="0">      <refbean="org.apache.jetspeed.page.PageManager" />    </constructor-arg>    <constructor-arg index="1">      <value>jetspeed-layouts::VelocityOneColumn</value>    </constructor-arg>  </bean> 
 

方法二:使用注解区分Bean

(未完 待续)

 

热点排行