SPEL зависит от идентификатора компонента

У меня есть файл Spring Bean, содержащий много ThingConfigurationResource фасоль. В зависимости от системного свойства activeCfg (-DactiveCfg=thing1) Я хотел бы установить active Значение свойства для каждого bean-компонента обусловлено, если идентификатор bean-компонента соответствует значению системного свойства.

Я не понимаю, как получить доступ к идентификатору компонента внутри выражения SpEL. Это не работает #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 ответов

Другие вопросы по тегам