弹簧注释创建jexl2.expression



我正在尝试理解我需要适应的弹簧代码。
我有:

<bean id="…" class="…">
  <property name="expr"
           value="teams.contains(member.team) and not empty(member.projects)" />
</bean>

相应类有一个字段

private Expression expr; 

类型

org.apache.commons.jexl2.Expression

现在,我试图找到合适的弹簧注释来摆脱XML文件。但是我什至无法理解如何将简单的字符串属性注入为jexl2.expression对象。这是如何工作的?

一个朋友找到答案:

有另一个XML文件:

<bean id="bean_for_ExprConverter" class="package.of.custom.ExpressionConverter">
  <constructor-arg ref="bean_for_JexlEngine"/>
</bean>

以及该项目的属性:

application.spring.converters = #{{
  @'bean_for_ExprConverter'
}}

因此,只要定义了转换器bean,就足以将表达式字符串注入@Value注释。

最新更新