版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、我的我的je博客:博客::86asm.:86asm.:86asm.文章錯誤之處肯請大家留言指正,再此謝過。文章錯誤之處肯請大家留言指正,再此謝過。文章編排目錄結(jié)構(gòu),大家可以在文檔結(jié)構(gòu)圖下很方便地查看文章編排目錄結(jié)構(gòu),大家可以在文檔結(jié)構(gòu)圖下很方便地查看1一、理論知識1.依賴注入、控制反轉(zhuǎn)依賴注入:在運行期,由外部容器動態(tài)地將依賴對象注入到組件中控制反轉(zhuǎn):應(yīng)用本身不負責(zé)依賴對象的創(chuàng)建及維護,依賴對象的創(chuàng)建及維護是由外部窗口負責(zé)得。這樣控制權(quán)
2、就由應(yīng)用轉(zhuǎn)移到了外部容器,控制權(quán)的轉(zhuǎn)移就是所謂的反轉(zhuǎn)。2.spring的主要特性。(1)降低組件之間的耦合度,實現(xiàn)軟件各層之間的解耦。(2)可以使用容器提供的眾多服務(wù),如:事務(wù)管理服務(wù)、消息服務(wù)、JMS服務(wù)、持久化服務(wù)等等。(3)容器提供單例模式支持,開發(fā)人員不再需要自己編寫實現(xiàn)代碼。(4)容器提供了AOP技術(shù),利用它很容易實現(xiàn)如權(quán)限攔截,運行期監(jiān)控等功能。(5)容器提供的眾多輔作類,使用這些類能夠加快應(yīng)用的開發(fā),如:JdbcTempl
3、ate、HibernateTemplate.(6)對主流的應(yīng)用框架提供了集成支持。3.常用技術(shù)控制反轉(zhuǎn)依賴注入面向切入編程與主流框架的整合、管理二、基本實例1.準備搭建環(huán)境distspring.jarlibjakatacommonscommonsloggin.jar如果使用了切面編程,還需下列jar文件:libaspectjaspectjweaver.jar和aspectjrt.jarlibcglibcglibnodep2.1.3.ja
4、r如果使用了jsr250中的注解,還需要下列jar文件:libj2eecommonannotations.jar2.搭建并測試環(huán)境建立名為spring_01_base項目,根據(jù)需求導(dǎo)入jar包。建立一個Junit測試單元SpringEnvTest,測試代碼如下:@TestpublicvoidtestEnv()ApplicationContextctx=newClassPathXmlApplicationContext(“beans.xm
5、l“)beans.xml配置文件在此省略(見下)。運行此測試如無錯,則說明環(huán)境搭建成功。說明:說明:beans.xml可以在類路徑下進行配置,也可以在具體的目錄下配置??梢允且粋€配置文件,也可以是多個配置文件組成String數(shù)組傳入。3.實例作如下準備工作:(1)建立UseDao接口,代碼如下:packagecom.asm.daopublicinterfaceUserDaovoidsave()(2)建立UserDao接口的實現(xiàn)類,Use
6、rDaoImpl我的我的je博客:博客::86asm.:86asm.:86asm.文章錯誤之處肯請大家留言指正,再此謝過。文章錯誤之處肯請大家留言指正,再此謝過。文章編排目錄結(jié)構(gòu),大家可以在文檔結(jié)構(gòu)圖下很方便地查看文章編排目錄結(jié)構(gòu),大家可以在文檔結(jié)構(gòu)圖下很方便地查看3相應(yīng)的工廠類的代碼如下:packagecom.asm.dao.implpublicclassUserDaoImplFacty2publicUserDaoImplgetUse
7、rDaoImpl()returnnewUserDaoImpl()5.bean的作用域singleton:返回bean的同一個實例,也是默認的作用域(無狀態(tài)bean使用此作用域)prototype:每次請求都會創(chuàng)建一個實例(有狀態(tài)bean使用此作用域)request、session、globalsession這三個作用域主要用在web應(yīng)用中6.bean的生命周期(1)什么時候初始化bean實例當scope=singleton,即默認情況,
8、會在裝載配置文件時實例化。如果希望在調(diào)用getBean時才初始化,可以使用lazyinit=“true“補充:如果希望希望該配置文件中的所有bean都延遲初始化,則應(yīng)在beans根結(jié)點中使用lazyinit=“true“。當scope=prototype時,在調(diào)用getBean()方法時才會初始化。(2)生命周期:構(gòu)造器、init方法、獲取bean后的操作、destroy方法(ctx.close、注意注意如果bean的scope設(shè)為pr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論