【问题标题】:How do I make a Spring aop comparison on expression?如何对表达式进行 Spring aop 比较?
【发布时间】:2011-11-10 19:30:07
【问题描述】:

我需要获取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)"  />

这段代码给出了一个非法的标识符字符=。我该怎么做才能进行这项检查?

【问题讨论】:

    标签: xml spring javabeans spring-aop


    【解决方案1】:

    我从来没有见过任何事情让我认为这是可能的——你有文档来演示在这样的切入点内使用表达式吗?如果有的话,您可以尝试使用 SpEL 转义 #{},但我对此表示怀疑。不过,如果它有效,那就太酷了。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-08
        • 1970-01-01
        • 2011-04-27
        • 1970-01-01
        • 2010-09-18
        • 2010-11-28
        • 2021-02-10
        • 2020-07-29
        相关资源
        最近更新 更多