更新时间:2023-09-04 来源:黑马程序员 浏览量:
Spring容器管理Bean的生命周期,主要分为以下阶段:
在这个阶段,Spring容器会创建Bean的实例。通常有两种方式来实例化Bean:通过构造函数实例化和通过工厂方法实例化。构造函数实例化是最常见的方式,Spring通过调用Bean的构造函数来创建Bean的实例。
一旦Bean实例化完成,Spring容器会注入Bean的属性,这些属性可以是基本数据类型、引用其他Bean或者集合等。
初始化阶段包括两个步骤:
(1)调用Bean的afterPropertiesSet方法:
如果Bean实现了InitializingBean接口,Spring容器会在属性注入后调用afterPropertiesSet方法,你可以在这个方法中执行一些初始化操作。
(2)执行自定义的初始化方法:
如果在配置中指定了自定义的初始化方法(例如通过XML配置的init-method属性或者注解中的@PostConstruct注解),Spring容器会在afterPropertiesSet方法之后调用这个自定义的初始化方法。
一旦初始化阶段完成,Bean就处于可用状态,可以被其他Bean引用和使用。
Bean的销毁阶段也包括两个步骤:
(1)调用Bean的destroy方法:如果Bean实现了DisposableBean接口,Spring容器会在Bean被销毁之前调用destroy方法,你可以在这个方法中执行一些清理操作。
(2)执行自定义的销毁方法:如果在配置中指定了自定义的销毁方法(例如通过XML配置的destroy-method属性或者注解中的@PreDestroy注解),Spring容器会在destroy方法之后调用这个自定义的销毁方法。
最后,Spring容器会销毁Bean实例,释放资源,使其不再可用。
需要注意的是,Bean的生命周期管理由Spring容器负责,开发者可以通过配置来影响Bean的生命周期,例如定义初始化方法、销毁方法,以及设置Bean的作用域等。默认情况下,Bean的作用域是单例(Singleton),也就是一个容器中只有一个Bean实例,但可以根据需要将作用域配置为原型(Prototype)或其他自定义作用域。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19