AOP 模块提供了面向切面的编程实现,允许你定义方法拦截器和切入点对代码进行干净地解耦,它实现了应该分离的功能。
一,添加aop依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
// 此依赖已包含AspectJ相关依赖包,如果单独引spring-aop依赖,还需要增加spring-aop依赖包
二,编写用于拦截的注解
// 此注解只能修饰方法
@Target(ElementType.METHOD)
// 当前注解如何去保持
@Retention(RetentionPolicy.RUNTIME)
// 生成到API文档
@Documented
public @interface Action {
String name();
}
在JDK 1.5中提供了4个标准的用来对注解类型进行注解的注解类,我们称之为 meta-annotation(元注解),他们包括:
- @Retention:描述注解保留的时间范围(即:被描述的注解在它所修饰的类中可以被保留到何时)
- @Target:描述注解的使用范围(即:被修饰的注解可以用在什么地方)
- @Document:描述在使用 jav