Spring配置中的条件语句

时间:2014-05-28 14:26:08

标签: java spring

是否可以在Spring配置中使用条件语句?

根据我的Bundle配置文件,我想注入一个属性 - 或者不是。

示例: 在我的Spring配置中,我定义了一个我想稍后注入的Bean:

<spring:bean id="myClass" class="org.demo.MyClass"/>

完美将是if / end / else等等。

<spring:bean id="someOtherClass" class="org.demo.SomeOtherClass">

    if ${my.config.doInject} == true then
        <spring:property name="injectedClass" ref="myClass" />
    end

    <spring:property name="someOtherProperty" value="12345"/>

</spring:bean>

以后,在 SomeOtherClass 中,我可以检查 injectClass 是否为Null。并根据它构建一些逻辑。

1 个答案:

答案 0 :(得分:3)

您可以按照此处所述使用SpEL三元运算符:http://docs.spring.io/spring-framework/docs/3.2.8.RELEASE/spring-framework-reference/html/expressions.html

<spring:bean id="someOtherClass" class="org.demo.SomeOtherClass">
    <spring:property name="injectedClass" ref="#{ my.config.doInject ? myClass : null } />
    <spring:property name="someOtherProperty" value="12345"/>
</spring:bean>