Spring源碼解析_bean生命周期

參考資料:<<Spring源碼深度解析>>

一矾瘾、bean的生命周期:

簡單描述:創(chuàng)建-->初始化-->銷毀
(后續(xù)會對Spring Bean的生命周期進行詳細(xì)分析)

二、容器管理bean的生命周期:可以自定義初始化和銷毀方法(三種)

  • 第一種:指定init-method和destroy-method方法(使用xml配置)


  • 第二種:使用注解配置:@Bean(initMethod = "xxName",destroyMethod = "xxName")
    initMethod :實體bean中的init方法名稱
    destroyMethod :實體bean中destroy方法名稱
    初始化:對象創(chuàng)建完成鼠锈,并賦值好,調(diào)用初始化方法
    銷毀:單實例,容器關(guān)閉的時候銷毀婆翔;多實例水泉,容器調(diào)用銷毀bean



  • 第三種:

1.實現(xiàn) InitializingBean 接口的 afterPropertiesSet() 方法:當(dāng)beanFactory創(chuàng)建好對象善涨,并且將bean中的是所有屬性設(shè)置好后,調(diào)用afterPropertiesSet()方法草则;

2.實現(xiàn) DisposableBean 接口钢拧,實現(xiàn)bean的銷毀


  • 第四種:使用JSR250注解方式
    @PostConstruct:在bean創(chuàng)建完成并且屬性賦值完成,來執(zhí)行初始化方法炕横;該注解標(biāo)記在方法上
    @PreDestroy:在容器銷毀bean之前通知銷毀操作
  • 第五種:BeanPostProcessor 接口豌蟋,bean的后置處理器:

在bean初始化前后進行一些處理工作:
1.postProcessBeforeInitialization():初始化之前工作
2.postProcessAfterInitialization():初始化之后工作

三铆帽、BeanPostProcessor原理 / Spring對BeanPostProcessor的使用

1域蜗、原理(待補充)

2黎休、使用

  • ApplicationContextAwareProcessor ,向組件中注入ioc容器:

用法:實體bean需要實現(xiàn) ApplicationContextAware 接口,重寫其 setApplicationContext( ApplicationContext applicationContext)方法

  • BeanValidationPostProcessor,進行數(shù)據(jù)校驗
  • AutowiredAnnotationBeanPostProcessor,自動注入注解

四夫壁、bean初始化相關(guān)的順序:

bean的創(chuàng)建(construct) --> bean初始化之前(實現(xiàn) BeanPostProcessor 接口) --> bean初始化的值(實現(xiàn)initializingBean接口的afterSetproperties() ) --> bean 初始化之后 (實現(xiàn) BeanPostProcessor 接口) --> bean的銷毀(實現(xiàn)DisposableBean 接口)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市沃疮,隨后出現(xiàn)的幾起案子盒让,更是在濱河造成了極大的恐慌,老刑警劉巖司蔬,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件邑茄,死亡現(xiàn)場離奇詭異,居然都是意外死亡葱她,警方通過查閱死者的電腦和手機撩扒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吨些,“玉大人搓谆,你說我怎么就攤上這事『朗” “怎么了泉手?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長偶器。 經(jīng)常有香客問我斩萌,道長,這世上最難降的妖魔是什么屏轰? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任颊郎,我火速辦了婚禮,結(jié)果婚禮上霎苗,老公的妹妹穿的比我還像新娘姆吭。我一直安慰自己,他們只是感情好唁盏,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布内狸。 她就那樣靜靜地躺著,像睡著了一般厘擂。 火紅的嫁衣襯著肌膚如雪昆淡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天刽严,我揣著相機與錄音昂灵,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛倔既,可吹牛的內(nèi)容都是我干的恕曲。 我是一名探鬼主播鹏氧,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼渤涌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了把还?” 一聲冷哼從身側(cè)響起实蓬,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吊履,沒想到半個月后安皱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡艇炎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年酌伊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缀踪。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡居砖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出驴娃,到底是詐尸還是另有隱情奏候,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布唇敞,位于F島的核電站蔗草,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏疆柔。R本人自食惡果不足惜咒精,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望旷档。 院中可真熱鬧模叙,春花似錦、人聲如沸彬犯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谐区。三九已至湖蜕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宋列,已是汗流浹背昭抒。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人灭返。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓盗迟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親熙含。 傳聞我的和親對象是個殘疾皇子罚缕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容