如何在表达式上进行Spring aop比较?

时间:2011-11-10 19:30:07

标签: xml spring javabeans spring-aop

我需要获取bean id logConfig的属性名称logLvl的值,并对表达式进行比较。

<bean id="logConfig"
    class="com.celfocus.ufe.base.logging.domains.LoggingConfiguration">
    <property name="logDetails" value="STANDARD" />
    <property name="logLvl" value="COMPLET" />
</bean>

<aop:config>
    <aop:aspect ref="ufeLogger">
        <aop:pointcut id="complete" expression="execution(* *.*(..)) and ($logConfig.logLvl=STANDARD)"  />

这段代码提供了非法标识符=。我该怎么做才能进行检查?

2 个答案:

答案 0 :(得分:0)

你试过==吗?毕竟,如果你正在进行比较。

答案 1 :(得分:0)

我从来没有见过让我认为这是可能的任何事情 - 你是否有文档证明在这样的切入点中使用表达式?如果有的话,你可以尝试使用SpEL转义#{},但我持怀疑态度。但是,如果它有效的话,这很酷。

我的第一种方法是将属性值用作方面的属性以及日志配置。