springboot切面实现及相关代码
时间: 2023-03-28 19:03:01 浏览: 121
Spring Boot 切面实现可以通过使用 AspectJ 或 Spring AOP 来实现。下面是一个使用 Spring AOP 的示例代码:
1. 创建一个切面类
```java
@Aspect
@Component
public class LoggingAspect {
@Before("execution(* com.example.demo.*.*(..))")
public void logBefore(JoinPoint joinPoint) {
System.out.println("Before executing " + joinPoint.getSignature().getName() + " method");
}
@After("execution(* com.example.demo.*.*(..))")
public void logAfter(JoinPoint joinPoint) {
System.out.println("After executing " + joinPoint.getSignature().getName() + " method");
}
}
```
2. 在 Spring Boot 应用程序中启用 AOP
```java
@SpringBootApplication
@EnableAspectJAutoProxy
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
3. 在需要应用切面的类中添加注解
```java
@RestController
public class DemoController {
@GetMapping("/hello")
@LogExecutionTime
public String hello() throws InterruptedException {
Thread.sleep(200);
return "Hello, World!";
}
}
```
这里的 @LogExecutionTime 是一个自定义注解,用于标记需要应用切面的方法。
以上就是一个简单的 Spring Boot 切面实现的示例代码。
阅读全文