下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、spring 3.0 注解注入詳解1.autowir注解(不推舉用法,建議用法resource) autowired可以對(duì)成員變量、辦法和構(gòu)造函數(shù)舉行標(biāo)注,來完成自動(dòng)裝配的工作。autowired的標(biāo)注位置不同,它們都會(huì)在spring在初始化這個(gè)bean時(shí),自動(dòng)裝配這個(gè)屬性。要使autowired能夠工作,還需要在配置文件中加入以下 xml代碼 bean / 2. qualifier注解 autowired是按照類型舉行自動(dòng)裝配的。例如,假如當(dāng)spring上下文中存在不止一個(gè)userdao類型的bean時(shí),就會(huì)拋出beancreationexception異樣;假如spring上下文中不存在u
2、serdao類型的bean,也會(huì)拋出beancreationexception異樣。我們可以用法qualifier協(xié)作autowired來解決這些問題。如下: 1). 可能存在多個(gè)userdao實(shí)例 java代碼 autowired qualifier("userserviceimpl") public iuserservice userservice; 或者 java代碼 autowired public vo userdao(qualifier("userdao") userdao userdao) this.userdao = userdao; 這
3、樣,spring會(huì)找到id為userserviceimpl和userdao的bean舉行裝配。 2). 可能不存在userdao實(shí)例 java代碼 autowired(required = fae) public iuserservice userservice; 3. resource注解 jsr-250標(biāo)準(zhǔn)注解,推舉用法它來代替spring專有的autowired注解。resource的作用相當(dāng)于autowired,只不過autowired按bytype自動(dòng)注入,而resource默認(rèn)按byname自動(dòng)注入罷了。resource有兩個(gè)屬性是比較重要的,分離是name和type,spring
4、將 resource注解的name屬性解析為bean的名字,而type屬性則解析為bean的類型。所以假如用法name屬性,則用法byname的自動(dòng)注入策略,而用法type屬性時(shí)則用法bytype自動(dòng)注入策略。假如既不指定name也不指定type屬性,這時(shí)將通過反射機(jī)制用法byname自動(dòng)注入策略。要使autowired能夠工作,還需要在配置文件中加入以下: xml代碼 bean class="org.springframework.contt.annotation.commonannotationbeanpostprocessor" / resource裝配挨次: a.假
5、如同時(shí)指定了name和type,則從spring上下文中找到唯一匹配的bean舉行裝配,找不到則拋出異樣 b.假如指定了name,則從上下文中查找名稱(id)匹配的bean舉行裝配,找不到則拋出異樣 c.假如指定了type,則從上下文中找到類型匹配的唯一bean舉行裝配,找不到或者找到多個(gè),都會(huì)拋出異樣 d.假如既沒有指定name,又沒有指定type,則自動(dòng)根據(jù)byname方式舉行裝配(見2);假如沒有匹配,則回退為一個(gè)原始類型(userdao)舉行匹配,假如匹配則自動(dòng)裝配; 4. postconsuct(jsr-250)注解 在辦法上加上注解postconstruct,這個(gè)辦法就會(huì)在bean
6、初始化之后被spring容器執(zhí)行(注:bean初始化包括,實(shí)例化bean,并裝配bean的屬性(依靠注入)。它的一個(gè)典型的應(yīng)用場景是,當(dāng)你需要往bean里注入一個(gè)其父類中定義的屬性,而你又無法復(fù)寫父類的屬性或?qū)傩缘膕etter辦法時(shí),如: java代碼 public class userdaoimpl extends hibernatedaosupport implements userdao private sessionfactory mysessionfacotry; resource public void setmysessionfacotry(sessionfactory sess
7、ionfacotry) this.mysessionfacotry = sessionfacotry; postconstruct public void injectsessionfactory() per.setsessionfactory(mysessionfacotry); 這里通過postconstruct,為userdaoimpl的父類里定義的一個(gè)sessionfactory私有屬性,注入了我們自己定義的 sessionfactory(父類的setsessionfactory辦法為final,不行復(fù)寫),之后我們就可以通過調(diào)用 super.getsessionfactory()來拜
8、訪該屬性了。 5. predestroy(jsr-250)注解 在辦法上加上注解predestroy,這個(gè)辦法就會(huì)在bean初始化之后被spring容器執(zhí)行。其使用同postconstruct。和postconstruct 區(qū)分在于:postconstruct注釋的辦法將在類實(shí)例化后調(diào)用,而標(biāo)注了 predestroy 的辦法將在類銷毀之前調(diào)用。 6. component注解 (不推舉用法) 只需要在對(duì)應(yīng)的類上加上一個(gè)component注解,就將該類定義為一個(gè)bean了。spring還提供了越發(fā)細(xì)化的注解形式:repository、service、controller,它們分離對(duì)應(yīng)存儲(chǔ)層bean,業(yè)務(wù)層bean,和展示層bean。目前版本(2.5)中,這些注解與component的語義是一樣的,徹低通用,在spring以后的版本中可能會(huì)給它們追加更多的語義。所以,我們推舉用法repository、service、controller來替代component。 7.scope
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)村個(gè)人地基使用權(quán)轉(zhuǎn)讓及宅基地置換合同3篇
- 2025年農(nóng)村堰塘生態(tài)農(nóng)業(yè)與鄉(xiāng)村旅游合作開發(fā)合同
- 2025年度員工薪酬福利及晉升管理體系工資合同3篇
- 二零二五年度航空航天配件賒銷服務(wù)合同3篇
- 二零二五年度數(shù)據(jù)中心機(jī)房租賃協(xié)議含網(wǎng)絡(luò)及安全服務(wù)3篇
- 二零二五年度戀愛關(guān)系維系與責(zé)任分配協(xié)議3篇
- 二零二五年度企業(yè)年會(huì)禮品定制及派發(fā)合同3篇
- 2025合同樣例項(xiàng)目工程建設(shè)合作合同范本
- 二零二五年度養(yǎng)殖產(chǎn)業(yè)鏈供應(yīng)鏈金融服務(wù)合同書人3篇
- 2025年度新材料研發(fā)營銷策劃合作協(xié)議3篇
- 新疆巴音郭楞蒙古自治州庫爾勒市2024-2025學(xué)年高一生物上學(xué)期期末考試試題
- 軍事理論(上海財(cái)經(jīng)大學(xué)版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 老兵和軍馬(2023年河南中考語文試卷記敘文閱讀題及答案)
- 非人力資源管理者的人力資源管理
- 物理-福建省福州市2024-2025學(xué)年高三年級(jí)上學(xué)期第一次質(zhì)量檢測(福州一檢)試題和答案
- 新課標(biāo)背景下:初中生物學(xué)跨學(xué)科主題學(xué)習(xí)課程設(shè)計(jì)與教學(xué)實(shí)施
- 人音版音樂五年級(jí)下冊(cè)獨(dú)唱《打起手鼓唱起歌》說課稿
- (高清版)AQ 2001-2018 煉鋼安全規(guī)程
- 單位委托員工辦理水表業(yè)務(wù)委托書
- 【部編版】三年級(jí)語文上冊(cè)全冊(cè)《單元統(tǒng)整備課》教案
- 02S501-2 雙層井蓋圖集標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論