Spring容器初始化及問(wèn)題解決方案
1.Spring bean組件 ”默認(rèn)為單例模式scope=“singleton, 運(yùn)行JavaApplication容器啟動(dòng)時(shí)自動(dòng)創(chuàng)建對(duì)象
scope=“prototype”為多例模式,請(qǐng)求條件下才創(chuàng)建對(duì)象
2beans組件 里面default-init-method初始化方法加載,范圍比較大,當(dāng)沒(méi)有此方法時(shí)不會(huì)報(bào)錯(cuò),default-destroy-method銷(xiāo)毀方法,default-lazy-init=“true/false” 對(duì)象延時(shí)實(shí)例化
3.bean組件里面init-method初始化無(wú)此方法,會(huì)報(bào)錯(cuò), destroy-method銷(xiāo)毀方法,lazy-init=“true/false” 延時(shí)實(shí)例化
注意:
1.銷(xiāo)毀方法對(duì)scope=“prototype”多例模式無(wú)效
2.AbstractApplicationContext可以關(guān)閉容器,可以調(diào)用close()方法,關(guān)閉容器,調(diào)用銷(xiāo)毀方法
3.對(duì)象延時(shí)實(shí)例化對(duì)多例模式?jīng)]有意義。
XML
<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:context='http://www.springframework.org/schema/context' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:aop='http://www.springframework.org/schema/aop' xmlns:tx='http://www.springframework.org/schema/tx' xmlns:p='http://www.springframework.org/schema/p' xmlns:util='http://www.springframework.org/schema/util' xmlns:jdbc='http://www.springframework.org/schema/jdbc' xmlns:cache='http://www.springframework.org/schema/cache' xsi:schemaLocation=' http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd' default-init-method='initEmp' default-destroy-method='destroyEmp' default-lazy-init='true'> <bean init-method='initEmp' destroy-method='destroyEmp' lazy-init='false' scope='singleton' ></bean> </beans>
Test方法
//bean組件的默認(rèn)方式 @Test public void beanInitTest() { AbstractApplicationContext appContext=new ClassPathXmlApplicationContext('com/tracy/xml/bean-init-destroy.xml'); ApplicationContext app=new ClassPathXmlApplicationContext('com/tracy/xml/bean-init-destroy.xml'); Emp emp=app.getBean('emp',Emp.class); System.out.print(emp); appContext.close(); }
通過(guò)構(gòu)造完成初始bean屬性,可以通過(guò)初始化完成
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案2. jsp實(shí)現(xiàn)局部刷新頁(yè)面、異步加載頁(yè)面的方法3. xml文件的結(jié)構(gòu)解讀第1/2頁(yè)4. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐5. 使用python修改文件并立即寫(xiě)回到原始位置操作(inplace讀寫(xiě))6. Java map.getOrDefault()方法的用法詳解7. 什么是python的id函數(shù)8. python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5工具欄控件QToolBar的詳細(xì)使用方法與實(shí)例9. Python填充任意顏色,不同算法時(shí)間差異分析說(shuō)明10. Android 解決sqlite無(wú)法創(chuàng)建新表的問(wèn)題
