springboot Aop流程
时间: 2024-11-07 10:12:34 浏览: 20
Spring Boot中的AOP (Aspect-Oriented Programming) 流程主要是通过引入切面(Aspect)来增强应用程序的行为,而不改变原有代码。以下是Spring Boot中AOP的基本步骤:
1. 定义切面:创建一个切面类,通常包含一个或多个通知(Advice),如前置通知(Before)、后置通知(After)或异常通知(Around)。这些通知会在特定的方法执行前、后或环绕执行时触发。
```java
@Aspect
@Component
public class LoggingAspect {
@Before("execution(* com.example.service.*.*(..))")
public void logBefore(JoinPoint joinPoint) {
// 执行前的日志记录
}
@AfterReturning("execution(* com.example.service.*.*(..))")
public void logAfter Returning(Object result) {
// 返回后日志记录
}
}
```
2. 配置通知:使用`@Autowired`注解将切面自动装配到Spring容器中,并通过切入点表达式(`execution(* com.example.service.*.*(..))`)指定何时应用该切面。
3. 启动代理:Spring会生成代理对象,这个代理对象包含了原始方法以及通知。当方法被调用时,实际上是代理对象调用了方法并执行了通知。
4. 通知执行:当满足切入点表达式的条件时,对应的通知会被调用。例如,在`logBefore`通知中,会在目标方法执行之前插入一些额外的操作。
5. 透明性:对原始代码来说,AOP的通知几乎是透明的,开发者不需要关心通知的具体实现,只需关注业务逻辑即可。
阅读全文