SpEL以bean id为条件

时间:2016-03-21 17:00:03

标签: java spring spring-el

我有一个包含许多ThingConfigurationResource个bean的Spring Bean文件。根据系统属性activeCfg(-DactiveCfg=thing1),如果bean id与System Property值匹配,我想为每个bean设置active属性值。

我不明白如何访问SpEL表达式中的bean id。这不起作用#this.id

<bean class="ThingConfigurationResource" id="thing1">
  <property name="active" value="#{systemProperties.activeCfg == #this.id ? true : false}"/>
</bean>

我明白了:

Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 41): Property or field 'id' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext' - maybe not public?

我无法访问程序源代码,因此我必须使用SpEL执行此操作。

0 个答案:

没有答案