视频字幕
Spring Bean的生命周期是Spring框架中的核心概念之一。它描述了一个Bean对象从被Spring容器创建开始,到最终被销毁的完整过程。Spring容器负责管理Bean的整个生命周期,确保Bean在正确的时机被创建、初始化、使用和销毁。
Bean的生命周期可以分为八个主要阶段。首先是实例化阶段,Spring容器创建Bean的实例。然后是属性填充阶段,为Bean注入依赖。接下来是Aware接口回调,让Bean感知到Spring容器的存在。之后是前置处理和初始化阶段,完成Bean的完整配置。最后经过后置处理,Bean就可以正常使用了。当容器关闭时,Bean进入销毁阶段。
现在我们详细了解前两个阶段。实例化阶段是Bean生命周期的起点,Spring容器根据配置信息,使用反射机制调用Bean的构造函数创建实例。此时Bean对象已经存在,但还没有完成配置。接下来是属性填充阶段,Spring容器会为Bean的各个属性设置值,包括注入其他Bean的引用和基本类型的值,这就是我们常说的依赖注入。
接下来是Bean生命周期的核心阶段。首先是Aware接口回调,如果Bean实现了BeanNameAware、BeanFactoryAware等接口,Spring会调用相应方法让Bean感知容器信息。然后是BeanPostProcessor的前置处理,所有注册的后置处理器都会对Bean进行预处理。接着是初始化阶段,可以通过实现InitializingBean接口、使用PostConstruct注解或配置init-method来执行初始化逻辑。最后是BeanPostProcessor的后置处理,完成后Bean就完全就绪可以使用了。
最后我们来看Bean的使用和销毁阶段。经过完整的初始化流程后,Bean进入使用阶段,此时Bean完全就绪,可以处理各种业务请求。应用程序通过Spring容器获取Bean实例来完成具体的业务逻辑。当Spring容器关闭时,Bean进入销毁阶段。如果Bean实现了DisposableBean接口或使用了PreDestroy注解,相应的销毁方法会被调用来释放资源。整个生命周期体现了Spring IoC容器对Bean的全程管理能力。