‌Spring的生命周期主

Spring的生命周期主要包括以下几个阶段‌:


 

  1. 实例化(Instantiation)‌:Spring IoC容器根据配置文件或注解信息创建Bean的实例。
  2. ‌属性赋值(Dependency Injection)‌:Spring IoC容器为Bean的属性设置值,这通常包括依赖注入(DI),即将其他Bean注入到当前Bean中。
  3. 初始化(Initialization)‌:在Bean的依赖注入完成后,Spring IoC容器会调用Bean的初始化方法,例如调用Bean的setter方法设置属性值,或者执行@PostConstruct注解的方法。
  4. ‌使用(Using)‌:Bean现在可以被应用程序使用了。如果项目添加了AOP,那么就会生成代理,如JDK代理、CGlib代理,没有添加AOP的话,就不会生成代理。
  5. ‌销毁(Destruction)‌:当Bean不再需要时,Spring IoC容器会调用Bean的销毁方法,释放资源并执行清理操作。如果Bean实现了DisposableBean接口或配置了destroy-method属性,它们在这个阶段会被调用。

Spring的生命周期的实现细节涉及多个阶段和接口的使用,包括但不限于BeanFactoryPostProcessor等Bean加载过程中的前置和后置处理、InitializingBean接口的调用、DestructionAwareBeanPostProcessor接口的实现等。这些阶段和接口共同作用,确保了Spring应用程序中的对象能够按照预期的方式创建、初始化、使用和销毁‌