springboot中使用aop
时间: 2024-01-20 09:13:11 浏览: 168
在Spring Boot中使用AOP,需要先引入spring-boot-starter-aop依赖,然后定义切面类并使用@Aspect注解标注,再定义切点和通知方法即可。具体步骤如下:
1. 引入依赖
在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
```
2. 定义切面类
使用@Aspect注解标注切面类,并在类中定义通知方法。
```java
@Aspect
@Component
public class LogAspect {
@Pointcut("execution(public * com.example.demo.controller.*.*(..))")
public void webLog(){}
@Before("webLog()")
public void doBefore(JoinPoint joinPoint){
// ...
}
@AfterReturning(returning = "ret", pointcut = "webLog()")
public void doAfterReturning(Object ret) throws Throwable {
// ...
}
}
```
3. 定义切点和通知方法
使用@Pointcut注解定义切点,使用@Before、@After、@Around等注解定义通知方法。
```java
@Pointcut("execution(public * com.example.demo.controller.*.*(..))")
public void webLog(){}
@Before("webLog()")
public void doBefore(JoinPoint joinPoint){
// ...
}
@AfterReturning(returning = "ret", pointcut = "webLog()")
public void doAfterReturning(Object ret) throws Throwable {
// ...
}
```
阅读全文