springBootAOP 代码示例
时间: 2023-07-02 12:12:08 浏览: 106
好的,下面是一个简单的 Spring Boot AOP 代码示例:
假设你有一个 UserController 类,其中定义了一个 addUser() 方法,用于添加用户。
1. 首先,在 UserController 中添加 addUser() 方法的具体实现:
```
@RestController
public class UserController {
@PostMapping("/user")
public void addUser(@RequestBody User user) {
// 具体的添加用户的代码
System.out.println("Add user: " + user.getName());
}
}
```
2. 创建一个切面类 LogAspect,用于实现日志的记录:
```
@Aspect
@Component
public class LogAspect {
@Before("execution(* com.example.controller.UserController.addUser(..)) && args(user)")
public void logBeforeAddUser(JoinPoint joinPoint, User user) {
System.out.println("Before add user: " + user.getName());
}
@AfterReturning("execution(* com.example.controller.UserController.addUser(..)) && args(user)")
public void logAfterAddUser(JoinPoint joinPoint, User user) {
System.out.println("After add user: " + user.getName());
}
}
```
3. 在 Spring Boot 应用启动类上添加 @EnableAspectJAutoProxy 注解,启用 Spring AOP 功能:
```
@SpringBootApplication
@EnableAspectJAutoProxy
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
通过上述步骤,我们就完成了一个简单的 Spring Boot AOP 的示例。当调用 UserController 的 addUser() 方法时,LogAspect 中的 logBeforeAddUser() 和 logAfterAddUser() 方法会自动被调用,从而实现了日志的记录。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)