码迷,mamicode.com
首页 > 其他好文 > 详细

注解实现AOP

时间:2015-06-20 11:45:07      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

1、开发步骤

  创建方面组件

    创建一个类,充当方面组件,实现通用的业务逻辑。

  声明方面组件

    在applicationContext.xml中开启AOP注解扫描:

      <aop:aspectj-autoproxy proxy-target-class="true"/>

    使用@Component注解标识这个类,将其声明为组件。

    使用@Aspect注解标识这个类,将其声明为方面组件。

  使用方面组件

    在组件的方法上,使用注解将方面组件作用到目标组件的方法上,并设置通知类型以确认方面组件调用的时机。

2、前置通知

  使用前置通知,在方面组件方法上增加注解:

@Before("within(controller...*)")
public void log(){
    
}

  后置通知、最终通知使用方式与前置通知一致,只需将注解改为@AfterReturning、@After即可。

3、环绕通知

  使用环绕通知,在方面组件方法上增加注解:

@Around("within(controller...*)")
public Object log(ProceedingJoinPoint p) throws Throwable{
    //此处代码在目标组件前执行
    Object obj=p.proceed();//执行目标组件方法
    //此处代码在目标组件后执行
    return obj;
}

4、异常通知

  使用异常通知,在方面组件方法上增加注解:

@AfterThrowing(pointcut="within(controller..*)",throwing="e")
public void log(Exception e){
    
}

 

注解实现AOP

标签:

原文地址:http://www.cnblogs.com/Crow00/p/4590316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!