【Spring6】| Bean的生命周期(五步、七步、十步法剖析)
在Spring框架中,Bean的生命周期可以概括为五步、七步或者十步。这取决于你需要关注的细节程度。以下是各种概括法的示例代码:
五步概括:
- 实例化:通过反射或者工厂方法创建Bean的实例。
- 属性赋值:为Bean的属性设置值和对其他Bean的引用。
- 初始化:如果Bean实现了BeanNameAware, BeanFactoryAware, ApplicationContextAware等接口,会调用对应的方法。
- 使用:Bean现在可以被应用程序使用了。
- 销毁:容器关闭时,如果Bean实现了DisposableBean接口,会调用其destroy方法。
public class MyBean implements BeanNameAware, BeanFactoryAware, ApplicationContextAware, InitializingBean, DisposableBean {
// 实现接口方法...
@Override
public void afterPropertiesSet() throws Exception {
// 初始化逻辑
}
@Override
public void destroy() throws Exception {
// 销毁逻辑
}
}
七步概括(包含了后处理器):
1-5与五步相同。
6. 应用Bean后处理器:容器对Bean进行后处理,可以修改Bean定义。
7. 销毁:Bean销毁时的逻辑。
@Component
public class MyBeanPostProcessor implements BeanPostProcessor {
// 实现后处理逻辑...
}
十步概括(包含了注解和配置类):
1-5与五步相同。
6. 注解配置的应用:如@Autowired注解。
7-9与七步相同。
10. 注解值解析:处理@Value注解。
@Component
public class MyBean {
@Value("${my.property}")
private String property;
// 其他代码...
}
这些概括法可以帮助你理解Bean的生命周期,但具体实现可能会依赖于你的Spring版本和配置。
评论已关闭