aop场景,主要为了不修改原始方法的情况下对方法增强处理,或者用于做日志记录功能。
1.导入maven坐标
org.springframework.boot
spring-boot-starter-aop
2.启用切面功能,随便放哪都行,不过在某个版本后导入包后默认就启用了
@EnableAspectJAutoProxy
3.编写切面类,在类上名增加注解@Aspect和将类交给spring容器管理,使用@Service获取@Conment都行
4.编写方法,该方法传入JoinPoint对象,该对象能获取到方法执行前后的信息,方法参数,类路径,类名等
5.切面注解介绍
5.1 @Before,该注解标识这个方法将在指定方法前执行
5.2 @After,该注解标识这个方法将在执行方法执行后执行
5.3@Around,该注解标识这个方法将在执行前和执行后都执行,
以上三个注解同有value参数,代表将要增强的路径,可使用通配符*来匹配
例:@After(“execution(* com.service.*.delete(..))”)
上面的*号代表service包下面所有类的delete方法后都将执行