- 名師講壇:Spring實(shí)戰(zhàn)開發(fā)(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- 李興華
- 492字
- 2020-04-24 14:20:46
3.7 Bean的初始化與銷毀
對于Java的程序類,系統(tǒng)提供了默認(rèn)的初始化與銷毀處理方法:初始化采用構(gòu)造方法實(shí)現(xiàn),銷毀處理使用finliaze方法完成。這兩個方法,一個是對象實(shí)例化之后的調(diào)用,一個是對象被回收前的調(diào)用。Spring開發(fā)框架中,由于所有的對象都?xì)wSpring管理,所以無法使用Java中的初始化與銷毀方法,但開發(fā)者可以定義自己的初始化和銷毀的操作,在這一基礎(chǔ)上又追加了自定義初始化與銷毀的方法設(shè)置。
1.【mldnspring-base項(xiàng)目】定義Message類,并自定義初始化與銷毀方法。

2.【mldnspring-base項(xiàng)目】修改spring-base.xml配置文件,追加初始化與銷毀處理。

本程序中使用了init-method定義了Bean的初始化方法,destroy-method定義了Bean的銷毀方法。
3.【mldnspring-base項(xiàng)目】編寫程序啟動Spring容器。默認(rèn)情況下,會自動調(diào)用配置中init-method所定義的方法進(jìn)行初始化。如果想觀察銷毀方法調(diào)用,則必須明確地進(jìn)行注冊銷毀處理。

可以發(fā)現(xiàn),在Spring中定義的初始化方法是在構(gòu)造方法調(diào)用后才會執(zhí)行,同時(shí)只有執(zhí)行了容器銷毀后,ctx.registerShutdownHook()才可以明確發(fā)現(xiàn)銷毀方法調(diào)用。
提示:銷毀操作會由容器自動完成。
在進(jìn)行Spring項(xiàng)目整合開發(fā)時(shí),可以利用銷毀處理來釋放資源。例如,在與ORMapping開發(fā)框架整合時(shí),可以利用銷毀操作調(diào)用數(shù)據(jù)庫關(guān)閉處理。大部分情況下,銷毀操作會由Spring自行處理,開發(fā)者并不需要進(jìn)行關(guān)注。
- 大學(xué)計(jì)算機(jī)基礎(chǔ)(第二版)
- SQL for Data Analytics
- Java加密與解密的藝術(shù)(第2版)
- Python Tools for Visual Studio
- PhpStorm Cookbook
- 組態(tài)軟件技術(shù)與應(yīng)用
- 移動界面(Web/App)Photoshop UI設(shè)計(jì)十全大補(bǔ)
- Regression Analysis with Python
- SQL Server 入門很輕松(微課超值版)
- Emotional Intelligence for IT Professionals
- Instant Automapper
- Python 3快速入門與實(shí)戰(zhàn)
- SAP Web Dynpro for ABAP開發(fā)技術(shù)詳解:基礎(chǔ)應(yīng)用
- Google Adsense優(yōu)化實(shí)戰(zhàn)
- Elasticsearch搜索引擎構(gòu)建入門與實(shí)戰(zhàn)