根据spring xml中的条件设置属性?

时间:2016-04-05 13:29:26

标签: java spring

我想根据

这样的条件在spring.xml下包含该文件
<bean id="ehcache" class="com.MyCustomBean" scope="singleton">
        if({environment==dev})
           <property name="fileLoc" value="file_dev.xml" />
         else
           <property name="fileLoc" value="file_prod.xml" />

    </bean>

其中environment是在属性文件

下定义的属性

有关信息,我已经使用spring PropertySourcesPlaceholderConfigurer来解析bean定义属性值中的${...}个占位符。

4 个答案:

答案 0 :(得分:1)

您可以考虑使用弹簧配置文件,您可以将xml文件分成不同的配置文件 请参阅https://dzone.com/articles/using-spring-profiles-xml

答案 1 :(得分:1)

你应该做

<property name="name" value="#{ ${environment}== dev ? file_dev.xml : file_prod.xml }"/>

答案 2 :(得分:0)

我有类似的情况,但是我需要根据属性“ my.property”注入不同的bean。就我而言,这种解决方案是成功的

 <property name="name" ref="#{ ${my.property:false}==true ? 'bean1' : 'bean2' }"/>

答案 3 :(得分:0)

Species