springboot aop实例讲解
时间: 2023-11-14 20:10:13 浏览: 105
好的,关于 Spring Boot AOP 的实例讲解,我可以给你一个简单的例子。假设我们有一个 UserService 接口,其中有一个 addUser 方法用于添加用户,我们想要在该方法执行前后打印日志,可以使用 AOP 来实现。具体步骤如下:
1. 定义一个切面类,使用 @Aspect 注解标注,并在类中定义一个前置通知和一个后置通知方法。
```java
@Aspect
@Component
public class LogAspect {
private static final Logger logger = LoggerFactory.getLogger(LogAspect.class);
@Before("execution(* com.example.demo.service.UserService.addUser(..))")
public void beforeAddUser() {
logger.info("开始添加用户...");
}
@After("execution(* com.example.demo.service.UserService.addUser(..))")
public void afterAddUser() {
logger.info("添加用户完成。");
}
}
```
2. 在切面类上使用 @Component 注解将其注册为 Spring Bean。
3. 在 Spring Boot 启动类上添加 @EnableAspectJAutoProxy 注解开启 AOP 功能。
```java
@SpringBootApplication
@EnableAspectJAutoProxy
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
这样,在执行 UserService 的 addUser 方法时,就会自动触发 LogAspect 中定义的前置通知和后置通知方法,从而实现了日志打印的功能。
阅读全文