Spring 进阶-第四篇:Spring AOP-切面的生命周期与管理
一、切面的生命周期
在 Spring AOP 中,切面(Aspect)本质上是一个 Spring Bean,其生命周期与普通 Bean 既有共性也有特殊性。理解切面的生命周期有助于精准控制切面的初始化、销毁逻辑及资源管理。
1.1 切面实例化与初始化
与普通 Bean 的生命周期对比
切面类(带有 @Aspect
注解的类)的实例化流程与普通 Bean 一致,遵循 Spring 的 Bean 生命周期回调机制,包括:
- 实例化:通过构造器创建对象。
- 依赖注入:通过
@Autowired
等注解注入依赖。 - 初始化回调:调用
@PostConstruct
或InitializingBean
定义的初始化方法。
特殊点:
- 切面类需被 Spring 容器识别为切面,需满足以下条件之一:
- 所在包被
@ComponentScan
扫描。 - 通过
@Bean
显式注册为 Bean。
- 所在包被