spring工厂生产对象时对象生命周期的三个阶段
spring生產(chǎn)對(duì)象的生命周期包括創(chuàng)建、初始化、銷毀。
一、創(chuàng)建
spring創(chuàng)建bean是何時(shí)創(chuàng)建的?
如果該bean是單例的,那么和工廠applicationContext的創(chuàng)建一起被創(chuàng)建;如果該bean是多例的,那么在使用時(shí)才會(huì)被創(chuàng)建。
二、初始化,一般用于資源的初始化
spring將bean注入后,會(huì)調(diào)用對(duì)象的初始化方法。
對(duì)象的初始化方法spring提供了兩種方法。
1、實(shí)現(xiàn)spring提供的InitializingBean接口,通過實(shí)現(xiàn)afterPropertiesSet() 方法初始化對(duì)象。(與spring框架存在耦合)
2、提供一個(gè)自定義myinit()方法,在創(chuàng)建該bean時(shí)指定初始化方法init-method。
如果提供了兩種初始化方法,那么先執(zhí)行afterPropertiesSet()再執(zhí)行myInit()。
三、銷毀,一般用于資源的釋放
銷毀方法只適用于scope為singleton的對(duì)象。
spring銷毀bean前,會(huì)首先調(diào)用對(duì)象的銷毀方法,再完成銷毀操作。
spring什么時(shí)候銷毀bean?
在關(guān)閉spring工廠時(shí),spring會(huì)銷毀所有的bean。
對(duì)象的銷毀方法spring提供了兩種方法。
1、實(shí)現(xiàn)spring提供的DisposableBean接口,通過實(shí)現(xiàn)destroy() 方法初始化對(duì)象。(與spring框架存在耦合)
2、自定義方法,在銷毀該bean時(shí)指定銷毀方法destroy-method。
總結(jié)
以上是生活随笔為你收集整理的spring工厂生产对象时对象生命周期的三个阶段的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring创建复杂对象的三种方式
- 下一篇: 漫谈promise使用场景