spring學(xué)習(xí)心得

spring學(xué)習(xí)心得

ID:37712893

大?。?2.94 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2019-05-29

spring學(xué)習(xí)心得_第1頁(yè)
spring學(xué)習(xí)心得_第2頁(yè)
spring學(xué)習(xí)心得_第3頁(yè)
spring學(xué)習(xí)心得_第4頁(yè)
資源描述:

《spring學(xué)習(xí)心得》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、Spring框架和Eclipse中配置Spring??最近打算買(mǎi)一個(gè)JSP的空間,價(jià)錢(qián)已經(jīng)商量好了,大概在100RMB/M/Y,再加獨(dú)立MySQL50M空間,國(guó)內(nèi)雙線(xiàn)訪(fǎng)問(wèn),感覺(jué)不錯(cuò)?,F(xiàn)在在尋覓一個(gè)JSP的個(gè)人博客系統(tǒng),網(wǎng)上發(fā)現(xiàn)一個(gè)MyBlog系統(tǒng),感覺(jué)非常不錯(cuò),現(xiàn)在的版本是1.8PI,而且作者每天都在自己的博客(http://www.jdkcn.com)上解答問(wèn)題,很熱心,于是下載下來(lái)觀摩,可惜單純的JSP頁(yè)面少之又少,基本看不懂,作者告知系統(tǒng)使用了spring和Hibernet以及markframe框架。于是狠下心來(lái)決定學(xué)習(xí)

2、一下JAVA主流框架。????首當(dāng)其沖的是Spring。??一天下來(lái)又是電子書(shū),又是視頻教程,基本了解了Spring框架的核心思想。IoC,控制反轉(zhuǎn)又稱(chēng)依賴(lài)注入。這套技術(shù)使用的目的是降藕,讓各個(gè)類(lèi)之間的關(guān)系變成松耦合狀態(tài)。??比方說(shuō)主類(lèi)中想調(diào)用工程中另一個(gè)類(lèi),最基本的做法是直接import后,實(shí)例化這個(gè)類(lèi)的一個(gè)對(duì)象,就可訪(fǎng)問(wèn)這個(gè)類(lèi)的一些變量和函數(shù)了。再高級(jí)一點(diǎn)是使用工廠(chǎng)模式,用一個(gè)靜態(tài)工廠(chǎng)取出這個(gè)類(lèi)的實(shí)例化對(duì)象。這兩種方法都無(wú)可避免在主類(lèi)中創(chuàng)建或者說(shuō)實(shí)例化我們想調(diào)用的這個(gè)類(lèi)的對(duì)象,然而根據(jù)現(xiàn)在軟件工程的理論,主類(lèi)和調(diào)用類(lèi)之間的

3、耦合程度就變得非常緊密,因?yàn)樵诔绦虼a中已經(jīng)將這兩個(gè)類(lèi)牢牢綁定在一起,要想調(diào)用別的類(lèi),就必須修改程序代碼。??無(wú)論哪種Java設(shè)計(jì)模式都告訴我們盡量對(duì)接口編程,而不是對(duì)類(lèi)編程。在上一個(gè)例子中,如果使用Spring框架我們無(wú)需再主類(lèi)中實(shí)例化調(diào)用類(lèi),而是通過(guò)XML配置文件告訴主類(lèi)我們將取出一個(gè)什么對(duì)象,通常我們稱(chēng)之為Bean,只要在XML文件中配置好需要調(diào)用的Bean的信息,在程序一開(kāi)始,Spring就幫你全部實(shí)例化在Spring容器中,當(dāng)主類(lèi)想調(diào)用一個(gè)Bean的時(shí)候,不是實(shí)例化,而是根據(jù)相關(guān)XML配置,通過(guò)Java反射機(jī)制向容器

4、索取一個(gè)需要的對(duì)象出來(lái),等用完了還將返還給Spring容器,這有點(diǎn)像數(shù)據(jù)庫(kù)技術(shù)中使用到的數(shù)據(jù)源的概念了。???閑話(huà)少說(shuō),我們舉一個(gè)示例:????????首先寫(xiě)一個(gè)基本的Pojo類(lèi),這是一種只有變量和相關(guān)set和get方法的類(lèi),非常純粹趕緊,我們稱(chēng)之為Car[Java]?viewplaincopy1.package?test;??2./**?3.?*?@author?newflypig?4.?*?@name:Car.java?5.?*/??1.public?class?Car?{??2.????String?name;??3.?

5、?4.????public?String?getName()?{??5.????????return?name;??6.????}??7.??8.????public?void?setName(String?name)?{??9.????????this.name?=?name;??10.????}??11.}??接著我們的程序需要對(duì)Car進(jìn)行相關(guān)的操作,這些操作函數(shù)一般放在一些名為Service的類(lèi)中,所以我們打算新建一個(gè)CarService的類(lèi),但是根據(jù)主流的JAVA編程理念,我們首先需要確定我們對(duì)Car進(jìn)行什么操作,這里

6、就定義一個(gè)簡(jiǎn)單的輸出汽車(chē)名字的操作,決定好操作目的后,制定一個(gè)接口名為CarServiceInterface的接口:[Java]?viewplaincopy1.package?test;??2.??3./**?4.?*?@name:CarServiceInterface.java?5.?*/??6.public?interface?CarServiceInterface?{??7.????public?void?printName();??8.}??緊接著,寫(xiě)一個(gè)類(lèi)實(shí)現(xiàn)這個(gè)接口,名為CarService:[Java]?view

7、plaincopy1.package?test;??2.??3.public?class?CarService?implements?CarServiceInterface{??4.????private?Car?c;??5.????public?void?setCar(Car?c){??6.????????this.c=c;??7.????}??8.????public?void?printName(){??9.????????System.out.println(c.getName());??10.????}??1.}??

8、可以看到,這個(gè)Service中包含一個(gè)Car變量,而且這個(gè)變量是靠set方法傳進(jìn)來(lái)的,這一點(diǎn)很重要,Spring框架需要代碼具有良好的編程規(guī)范,set小寫(xiě),Car大寫(xiě)第一個(gè)字母,因?yàn)镾pring框架需要根據(jù)即將編寫(xiě)的XML文件,通過(guò)Java反射機(jī)制找到我們這個(gè)Service類(lèi)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。