2011-11-14 65 views
1

我需要在我的切入點表達式中進行檢查。 我有這個bean:檢查AOP切入點表達式

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

在我的AOP切入點表達我需要做一個檢查,以驗證bean屬性「logLvl」的價值。

<aop:config> 
    <aop:aspect ref="ufeLogger"> 
     <aop:pointcut id="complete" expression="execution(* *.*(..)) and bean(logConfig)==COMPLETE" /> 
     <aop:before pointcut-ref="complete" method="logBefore" /> 
    </aop:aspect> 
</aop:config> 

我的表情不工作......我可以更改以進行此項檢查嗎?

回答

1

是什麼讓你認爲and bean(logConfig)==COMPLETE是一個有效的切入點? Spring AOP使用AspectJ切入點語法,不添加Spring。此外,你甚至沒有提及logLvl財產,所以這是假設工作?

不幸的是,要實現這一點,您必須手動實施檢查。儘管如此,這不是那麼幹擾:只需將logConfig注入ufeLogger方面並在logBefore()方法中添加一個簡單條件即可。

+0

我已經試過,但是當我把條件放在logBefore()方法中時,我無法攔截我的意思.. –