2011-11-14 7 views
1

私のような私のポイントカット式でチェックをする必要があります。 私はこのBeanを持っている:私のAOPポイントカット表現でAOPのポイントカット式を確認する

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

私は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プロパティを参照していないので、これは動作すると思われますか?

残念ながらこれを達成するには、手動でチェックを実装する必要があります。これはそれほど邪魔ではありません:単にlogConfigufeLoggerに挿入して、logBefore()という方法で簡単な条件を追加します。

+0

私はすでにそれを試していましたが、logBefore()メソッドの中に条件を入れると、私が意味することを傍受できません。 –

関連する問題