标签:
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){ }
标签:
原文地址:http://www.cnblogs.com/Crow00/p/4590316.html