aop的基本用法

AOP环绕切面的基本用法

需要引入的jar:

1
2
3
4
5
6
7
8
9


<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<version>2.0.8.RELEASE</version>
</dependency>


@Around环绕标签注解用于注解在方法类上

1
2
3
4
5


@Around("execution(* com.demo.wx.controller.LegaPeopleController.*(..))")


execution:为执行命令

第一个星表示 方法返回类型,‘’表示所有类型;

com.x.x:表示所要拦截的类路径;

第二个星表示:类下面的所有方法;

(..)表示方法中的所有参数;

重点在用其ProceedingJoinPoint接口的方法使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14


public xxx(ProceedingJoinPoint pjp) throws Exception {
//getSignature返回连接点处的签名,MethodSignature包含了 类的返回类型和类的方法名称
MethodSignature signature = (MethodSignature) pjp.getSignature();
//获取类的方法数据
Method method = signature.getMethod();
//获取类的返回类型
returnType = method.getReturnType();
//返回此连接点处的参数。也就是方法中的参数类型如String,int..
Object[] args = pjp.getArgs();
}