是否可以在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。并根据它构建一些逻辑。
答案 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>