資源描述:
《輕松學(xué)java web開發(fā)之spring框架入門》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第16章Spring框架入門SSH框架是目前最為流行的軟件開發(fā)技術(shù),它是由3種技術(shù)組成的,除了我們前面講解的Struts和Hibernate外,還包括從本章開始講解的Spring,如圖16.1所示。Spring是一種非常完善的開源的框架,通過它可以大大降低企業(yè)應(yīng)用程序的復(fù)雜性。我們?cè)陂_發(fā)中通常使用Spring開發(fā)業(yè)務(wù)邏輯層。16.1Spring概述如果讀者在學(xué)習(xí)Spring之前,學(xué)習(xí)過EJB技術(shù),就知道開發(fā)企業(yè)級(jí)項(xiàng)目是一件非常復(fù)雜的工程。隨著Spring的出現(xiàn),會(huì)大大降低J2EE企業(yè)級(jí)開發(fā)的復(fù)雜度。作為一種開源技術(shù),Spring幾乎替代了EJB技術(shù)。并且Spring不僅僅是替代品
2、,其技術(shù)范圍比EJB更廣、更實(shí)用。16.1.1Spring技術(shù)介紹Spring是一種非常完整的技術(shù),即使只使用Spring技術(shù)也能實(shí)現(xiàn)項(xiàng)目的開發(fā)。但是在實(shí)際開發(fā)中我們只是讓Spring做業(yè)務(wù)邏輯層,因?yàn)镾pring的業(yè)務(wù)處理能力是非常強(qiáng)大的。簡單來說,Spring就是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,如圖16.2所示。16.1.2為什么使用Spring在沒有使用Spring之前,如果在業(yè)務(wù)邏輯層中訪問數(shù)據(jù)訪問層,需要在業(yè)務(wù)邏輯層中創(chuàng)建數(shù)據(jù)庫訪問層的對(duì)象,然后使用該對(duì)象調(diào)用DAO方法。使用這種方式訪問數(shù)據(jù)訪問層,當(dāng)數(shù)據(jù)訪問層程序發(fā)生改動(dòng)時(shí),還需要改動(dòng)業(yè)務(wù)
3、訪問層的程序,加大了程序員的工作量。當(dāng)Spring出現(xiàn)以后,這種問題就得到了解決。業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層之間是注入的關(guān)系,在業(yè)務(wù)邏輯層中并不需要?jiǎng)?chuàng)建數(shù)據(jù)訪問層的對(duì)象,16.2Spring開發(fā)環(huán)境的搭建在MyEclipse中集成了Spring項(xiàng)目開發(fā),通過它可以非常容易的搭建Spring開發(fā)環(huán)境。其搭建步驟大致如下:(1)創(chuàng)建一個(gè)Java項(xiàng)目ch16,選中該項(xiàng)目單擊右鍵,在彈出的菜單欄選擇“MyEclipse”
4、“AddSpringCapabilities”命令,然后選擇版本號(hào)及所要添加的包。我們可以選擇導(dǎo)入所有的jar包。(2)單擊Next按鈕,進(jìn)入Spring設(shè)置頁面。在頁面中
5、,可以設(shè)置Spring的配置文件名和保存目錄。默認(rèn)情況下,Spring配置文件名為applicationContext.xml,建議讀者不要修改這個(gè)文件名。然后就可以單擊Finish按鈕完成配置。16.3開發(fā)Spring的HelloWorld程序在前面的學(xué)習(xí)中,我們已經(jīng)對(duì)Spring有了一個(gè)初步的了解,本節(jié)我們將通過一個(gè)非常簡單的HelloWorld程序?yàn)榇蠹医榻B如何使用Spring開發(fā)環(huán)境進(jìn)行程序的開發(fā)。Spring有兩個(gè)非常重要的應(yīng)用,那就是IoC控制反轉(zhuǎn)和AOP面向切面編程,我們這里先以IoC技術(shù)為代表進(jìn)行講解。16.3.1開發(fā)Spring程序的步驟Spring開發(fā)是有嚴(yán)格
6、步驟的,無論項(xiàng)目簡單和復(fù)雜,都要按照這個(gè)步驟進(jìn)行操作。Spring程序的開發(fā)步驟如圖16.7所示。16.3.2編寫業(yè)務(wù)接口我們首先來開發(fā)業(yè)務(wù)接口,在該業(yè)務(wù)接口中定義了SayHello方法。通過該方法創(chuàng)建一個(gè)接收傳遞信息,然后返回問候語句的功能。16.3.3編寫業(yè)務(wù)實(shí)現(xiàn)類開發(fā)完業(yè)務(wù)接口后,就繼續(xù)來編寫業(yè)務(wù)實(shí)現(xiàn)類。業(yè)務(wù)實(shí)現(xiàn)類要實(shí)現(xiàn)業(yè)務(wù)接口,從而實(shí)現(xiàn)業(yè)務(wù)接口中的抽象方法。16.3.5編寫客戶端進(jìn)行測(cè)試到目前為止,Spring的程序已經(jīng)開發(fā)完畢,本節(jié)就通過一個(gè)客戶端程序來對(duì)Spring的程序進(jìn)行測(cè)試。通過該客戶端程序調(diào)用業(yè)務(wù)實(shí)現(xiàn)類中的業(yè)務(wù)方法。學(xué)習(xí)到這里,讀者可能并沒有感受到Spring
7、的開發(fā)優(yōu)勢(shì),這是因?yàn)槲覀冞€沒有進(jìn)行實(shí)際開發(fā)。在Web項(xiàng)目開發(fā)中,最重要的一點(diǎn)就是進(jìn)行分層開發(fā),而Spring就是起到這個(gè)作用。當(dāng)我們的程序需要該懂事,只需要改動(dòng)Spring的配置文件,這在以前的方式中是不可能做到的。16.4小結(jié)本章是Spring的入門章節(jié),首先我們?yōu)榇蠹医榻BSpring技術(shù),以及為什么要使用Spring,然后介紹了Spring開發(fā)環(huán)境的搭建,最后又通過一個(gè)完整的實(shí)例,向大家展示了開發(fā)Spring程序的步驟。本章的重點(diǎn)和難點(diǎn)都是理解并爭(zhēng)取掌握Spring的開發(fā)過程,力爭(zhēng)為后面章節(jié)的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。