spring aop小结

时间:2021-09-20
本文章向大家介绍spring aop小结,主要包括spring aop小结使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

二. Springaop

1. 增强类型

1) @Before:前置增强

2) @After:后置增强,不管是否抛出异常,相当于finally代码块的代码

3) @AfterThrowing异常后增强:

4) @AfterReturning:返回后增强,相当于方法执行后紧接着的代码

5) @Around:环绕增强,传入一个ProceedingJoinPoint用于调用业务模块的代码的对象,可以实现其他四类增强所有功能

2.各种增强调用时间

业务方法:Public String  businessMethod(){

}

动态代理回调中的方法执行顺序

invoke(){

try{

   @Before

   String result =businessMethod();

   @AfterReturning

}catch(Exception e){

  @AfterThrowing

}finally{

  @After

}

}

2.常用切点表达式

1.方法切点表达式

1) 例子:

execution(public * com.spring.service.BusinessObject.businessService(java.lang.String,..))

2)说明:

指定方法的访问控制修饰符、返回值、包名、方法名、参数名、声明抛出的异常

2.类切点表达式

1) 例子:

指定类:within(com.spring.service.BusinessObject)

指定包但不包含子包:within(com.spring.service.*)

指定包但包含子包:within(com.spring.service..*)

特殊用法:指定使用了某个注解的类:

@within(com.spring.annotation.BusinessAspect)

3.参数切点表达式

1) 例子:

指定方法参数: args(java.lang.String,..,java.lang.Integer)

特殊用法:指定参数上使用了某个注解的方法

@args(com.spring.annotation.BusinessAspect)

4.注解切点表达式

指定使用了注解的方法

@annotation(com.spring.annotation.BusinessAspect)

原文地址:https://www.cnblogs.com/mk190705/p/15314244.html