是否可以在 Spring 配置中使用条件语句?
根据我的 Bundle 的配置文件,我是否想注入(inject)一个属性。
示例: 在我的 Spring 配置中,我定义了一个稍后要注入(inject)的 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 中,我可以检查 injectedClass 是否为 Null。并据此构建一些逻辑。
最佳答案
您可以使用 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>
关于java - Spring配置中的条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23914387/