离离原上草,一岁一枯荣
前言
慢慢的耐心被消磨了太多了,今晚一定搞完
一、最终通知@After
无论目标方法是否正常执行,最终通知的代码都会被执行。
如下:
/**
* 最终通知方法的规范
* 1)访问权限是public
* 2)方法没有返回值
* 3)方法名称自定义
* 4)方法没有参数,如果有也只能是JoinPoint
* 5)使用@After注解表面是最终通知
* 参数:
* value:指定切入点表达式
*/
@After(value = "execution(* org.example.s04.*.*(..))")
public void myAfter(){
System.out.println("最终通知的功能....");
}
二、@Pointcut
给切入点表达式起别名
如果多个切面切入到同一个切入点,可以使用别名简化开发。
使用@Pointcut注解,创建一个空方法,此方法的名称就是别名
如下:
@Around(value = "mycut()")
public Object myAround(ProceedingJoinPoint pjp) throws Throwable {
System.out.println("环绕通知中的前置通知的功能....");
Object obj = pjp.proceed(pjp.getArgs());
System.out.println("环绕通知中的后置通知的功能....");
return obj;
}
@Pointcut(value = "execution(* org.example.s04.*.*(..))")
public void mycut(){}
总结
aop小结