Spring的AOP的注解的通知类型,切入点的注解
本文内容纲要:
- 切入点的注解:
Spring的注解的AOP的通知类型
@Before:前置通知
@AfterReturning:后置通知
@Around:环绕通知
@AfterThrowing:异常抛出通知
@After:最终通知
@Pointcut:切入点的注解
1 /**
2 * 切面类:注解的切面类
3 /
4 @Aspect
5 public class MyAspectAnno {
6 //前置通知
7 @Before(value="execution( com.itheima.spring.demo1.OrderDao.save(..) )")
8 public void before(){
9 System.out.println("前置通知======");
10 }
11 //后置通知
12 @AfterReturning(value="execution(* com.itheima.spring.demo1.OrderDao.delete(..))", returning="result")
13 public void afterReturning(Object result){
14 System.out.println("后置通知====="+result);
15 }
16 @Around(value="execution(* com.itheima.spring.demo1.OrderDao.update(..))")
17 public Object around(ProceedingJoinPoint joinPoint) throws Throwable{
18 System.out.println("环绕前增强=====");
19 Object obj = joinPoint.proceed();
20 System.out.println("环绕后增强=====");
21 return obj;
22 }
23 //异常抛出通知
24 @AfterThrowing(value="execution(* com.itheima.spring.demo1.OrderDao.find(..))" , throwing="e")
25 public void find(Throwable e ){
26 System.out.println("异常抛出通知======"+e.getMessage());
27 }
28 //最终通知:
29 @After(value="execution(* com.itheima.spring.demo1.OrderDao.find(..))")
30 public void after( ){
31 System.out.println("最终通知======");
32 }
33 }
切入点的注解:
配置@Pointcut注解,使用类名.方法
/** * 切面类:注解的切面类
*/
@Aspect
public class MyAspectAnno {
//切入点的注解
@Pointcut(value="execution(* com.itheima.spring.demo1.OrderDao.find(..))")
private void pointcut1(){}
@Pointcut(value="execution(* com.itheima.spring.demo1.OrderDao.save(..))")
private void pointcut2(){}
@Pointcut(value="execution(* com.itheima.spring.demo1.OrderDao.update(..))")
private void pointcut3(){}
@Pointcut(value="execution(* com.itheima.spring.demo1.OrderDao.delete(..))")
private void pointcut4(){}
//前置通知
@Before(value="MyAspectAnno.pointcut2()")
public void before(){
System.out.println("前置通知======");
}
//后置通知
@AfterReturning(value="MyAspectAnno.pointcut4()", returning="result")
public void afterReturning(Object result){
System.out.println("后置通知====="+result);
}
//环绕通知
@Around(value="MyAspectAnno.pointcut3()")
public Object around(ProceedingJoinPoint joinPoint) throws Throwable{
System.out.println("环绕前增强=====");
Object obj = joinPoint.proceed();
System.out.println("环绕后增强=====");
return obj;
}
//异常抛出通知
@AfterThrowing(value="MyAspectAnno.pointcut1()" , throwing="e")
public void find(Throwable e ){
System.out.println("异常抛出通知======"+e.getMessage());
}
// 最终通知:
@After(value="MyAspectAnno.pointcut1()")
public void after( ){
System.out.println("最终通知======");
}
}
本文内容总结:切入点的注解:,
原文链接:https://www.cnblogs.com/ltfxy/p/9885742.html
以上是 Spring的AOP的注解的通知类型,切入点的注解 的全部内容, 来源链接: utcz.com/z/296924.html