springboot中aop
时间: 2023-11-15 14:56:24 浏览: 222
SpringBoot中使用AOP打印接口日志的方法
5星 · 资源好评率100%
Spring Boot中的AOP是基于AspectJ实现的。通过使用AOP,可以将一些通用的行为(例如日志记录、性能监控等)与业务逻辑分离开来,从而提高代码的可维护性和可重用性。
在Spring Boot中,可以通过在方法上添加@Aspect注解来定义切面,通过在切面中定义@Before、@After等注解来定义切点和通知。
例如,下面的代码演示了如何在Spring Boot中使用AOP记录方法的执行时间:
```java
@Aspect
@Component
public class PerformanceAspect {
@Around("execution(* com.example.demo.service.*.*(..))")
public Object logExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable {
long startTime = System.currentTimeMillis();
Object result = joinPoint.proceed();
long endTime = System.currentTimeMillis(); System.out.println(joinPoint.getSignature() + " executed in " + (endTime - startTime) + "ms");
return result;
}
}
```
在上面的代码中,@Aspect注解表示这是一个切面,@Around注解表示这是一个环绕通知,execution(* com.example.demo.service.*.*(..))表示切点,即所有com.example.demo.service包下的方法。
阅读全文