Spring AOP @After注释未按预期运行

时间:2013-08-11 00:32:00

标签: eclipse spring aspectj spring-aop

我正在学习Spring 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>

无论使用@After还是@Before

,这都是输出
  

AfterLoggingAdvice()正在运行

     

AfterLoggingAdvice()正在运行

     

圈子名称

0 个答案:

没有答案