1

春の AOP を学習していますが、@After注釈の実行に問題があります。

何らかの理由で@After、メソッド呼び出しの前に実行されます。

私は何を間違っていますか?私のEclipse環境の問題ですか?

@Aspect 

public class LoggingAspect {

    @After("execution(* aop.*.* (..))")
    public void AfterLoggingAdvice() {
        System.out.println("AfterLoggingAdvice() is running");

    }

}

これは私のメインクラスです:

public static void main(String[] args) {

    ApplicationContext context = new ClassPathXmlApplicationContext(
            "aop.xml");

    ShapeService service = context.getBean("shapeService",
            ShapeService.class);
    System.out.println(service.getCircle().getName());

}

XML ファイル:

<aop:aspectj-autoproxy/>

    <bean id="circle" class="aop.Circle"  >
        <property name="name" value="Circle Name" /> 
        <property name="id" value="Circle ID" /> 
    </bean>

    <bean id="shapeService" class="aop.ShapeService"  autowire="byName"/>

    <bean id="loggingAspect" class="aop.LoggingAspect"/>

</beans>

これは、@Afterorの使用に関係なく出力@Beforeです:

AfterLoggingAdvice() が実行中です

AfterLoggingAdvice() が実行中です

サークル名

4

0 に答える 0