spring框架學(xué)習(xí)

1习绢、開(kāi)發(fā)中主要使用spring的什么技術(shù)?

a)IOC容器管理各層組件
b)使用aop配置聲明式事務(wù)

c)整合其他框架

2、為什么說(shuō)spring是一站式框架

3蘑斧、spring搭建


(1)導(dǎo)包:基本包+日志包
(2)創(chuàng)建一個(gè)pojo對(duì)象
(3)書(shū)寫配置注冊(cè)對(duì)象到容器
------------配置文件:applicationContext.xml

------------這其中的導(dǎo)入約束是什么意思?

(4)代碼測(cè)試

其實(shí)就是在實(shí)際編碼過(guò)程中我們是如何使用這個(gè)對(duì)象的须眷。首先是創(chuàng)建對(duì)象竖瘾,然后就是通過(guò)容器調(diào)用他的方法來(lái)獲取我們想要的對(duì)象。

4花颗、spring概念

5捕传、spring中的工廠(容器)

(1)ApplicationContext

ApplicationContext接口有兩個(gè)實(shí)現(xiàn)類:
ClassPathXmlApplicationContext:加載類路徑下的spring配置文件
FileSystemXmlApplicationContext:加載本地磁盤下的spring的配置文件

(2)ApplicationContext和BeanFactory的區(qū)別

BeanFactory接口實(shí)現(xiàn)類的容器,特點(diǎn)是每次在獲得對(duì)象的時(shí)候才會(huì)創(chuàng)建對(duì)象扩劝。
ApplicationContext接口實(shí)現(xiàn)類的容器庸论,特點(diǎn)是每次加載配置文件,容器啟動(dòng)的時(shí)候就會(huì)創(chuàng)建容器中配置的所有對(duì)象棒呛。

結(jié)論:web開(kāi)發(fā)中,使用applicationContext. 在資源匱乏的環(huán)境可以使用BeanFactory.

6聂示、spring中的bean元素----看下視頻明白一下空參構(gòu)造創(chuàng)建對(duì)象

spring中如何配置bean對(duì)象

(1)通過(guò)全類名(反射)
(2)通過(guò)靜態(tài)工廠或者實(shí)例工廠

如何創(chuàng)建bean對(duì)象

(1)空參構(gòu)造的方式

(2)靜態(tài)工廠的方式

(3)實(shí)例工廠的方式

bean元素屬性注入---看視頻明白set方法注入

set方法注入

構(gòu)造函數(shù)注入

p名稱空間注入

spel注入

復(fù)雜類型注入

bean元素屬性

Bean元素:使用該元素描述需要spring容器管理的對(duì)象

使用name屬性時(shí),開(kāi)發(fā)中不建議名稱重復(fù)

scope屬性:對(duì)象的作用域

四個(gè)取值對(duì)應(yīng)四個(gè)范圍

當(dāng)通過(guò)Spring容器創(chuàng)建一個(gè)Bean實(shí)例時(shí)簇秒,不僅可以完成Bean實(shí)例的實(shí)例化鱼喉,還可以為Bean指定特定的作用域。Spring支持如下5種作用域:

singleton:?jiǎn)卫J剑谡麄€(gè)Spring IoC容器中扛禽,使用singleton定義的Bean將只有一個(gè)實(shí)例
prototype:原型模式锋边,每次通過(guò)容器的getBean方法獲取prototype定義的Bean時(shí),都將產(chǎn)生一個(gè)新的Bean實(shí)例
request:對(duì)于每次HTTP請(qǐng)求编曼,使用request定義的Bean都將產(chǎn)生一個(gè)新實(shí)例豆巨,即每次HTTP請(qǐng)求將會(huì)產(chǎn)生不同的Bean實(shí)例。只有在Web應(yīng)用中使用Spring時(shí)掐场,該作用域才有效
session:對(duì)于每次HTTP Session往扔,使用session定義的Bean都將產(chǎn)生一個(gè)新實(shí)例。同樣只有在Web應(yīng)用中使用Spring時(shí)刻肄,該作用域才有效
globalsession:每個(gè)全局的HTTP Session瓤球,使用session定義的Bean都將產(chǎn)生一個(gè)新實(shí)例。典型情況下敏弃,僅在使用portlet context的時(shí)候有效卦羡。同樣只有在Web應(yīng)用中使用Spring時(shí),該作用域才有效

其中比較常用的是singleton和prototype兩種作用域麦到。對(duì)于singleton作用域的Bean绿饵,每次請(qǐng)求該Bean都將獲得相同的實(shí)例。容器負(fù)責(zé)跟蹤Bean實(shí)例的狀態(tài)瓶颠,負(fù)責(zé)維護(hù)Bean實(shí)例的生命周期行為拟赊;如果一個(gè)Bean被設(shè)置成prototype作用域,程序每次請(qǐng)求該id的Bean粹淋,Spring都會(huì)新建一個(gè)Bean實(shí)例吸祟,然后返回給程序。在這種情況下桃移,Spring容器僅僅使用new 關(guān)鍵字創(chuàng)建Bean實(shí)例屋匕,一旦創(chuàng)建成功,容器不在跟蹤實(shí)例借杰,也不會(huì)維護(hù)Bean實(shí)例的狀態(tài)过吻。

如果不指定Bean的作用域,Spring默認(rèn)使用singleton作用域蔗衡。Java在創(chuàng)建Java實(shí)例時(shí)纤虽,需要進(jìn)行內(nèi)存申請(qǐng);銷毀實(shí)例時(shí)绞惦,需要完成垃圾回收逼纸,這些工作都會(huì)導(dǎo)致系統(tǒng)開(kāi)銷的增加。因此济蝉,prototype作用域Bean的創(chuàng)建杰刽、銷毀代價(jià)比較大呻纹。而singleton作用域的Bean實(shí)例一旦創(chuàng)建成功,可以重復(fù)使用专缠。因此,除非必要淑仆,否則盡量避免將Bean被設(shè)置成prototype作用域涝婉。

bean元素生命周期

1、通過(guò)構(gòu)造器或者工廠方法創(chuàng)建bean實(shí)例
2蔗怠、為bean的屬性值設(shè)置值和對(duì)其他bean的引用
3墩弯、調(diào)用bean的初始化方法
4、使用bean對(duì)象

5寞射、容器關(guān)閉時(shí)調(diào)用bean的銷毀方法

經(jīng)過(guò)如上對(duì)Bean作用域的介紹渔工,接下來(lái)將在Bean作用域的基礎(chǔ)上講解Bean的生命周期。

Spring容器可以管理singleton作用域下Bean的生命周期桥温,在此作用域下引矩,Spring能夠精確地知道Bean何時(shí)被創(chuàng)建,何時(shí)初始化完成侵浸,以及何時(shí)被銷毀旺韭。而對(duì)于prototype作用域的Bean,Spring只負(fù)責(zé)創(chuàng)建掏觉,當(dāng)容器創(chuàng)建了Bean的實(shí)例后区端,Bean的實(shí)例就交給了客戶端的代碼管理,Spring容器將不再跟蹤其生命周期澳腹,并且不會(huì)管理那些被配置成prototype作用域的Bean的生命周期织盼。Spring中Bean的生命周期的執(zhí)行是一個(gè)很復(fù)雜的過(guò)程,讀者可以利用Spring提供的方法來(lái)定制Bean的創(chuàng)建過(guò)程酱塔。Spring容器在保證一個(gè)bean實(shí)例能夠使用之前會(huì)做很多工作:

7沥邻、使用注解代替xml配置

(1)導(dǎo)包
(2)導(dǎo)入新的約束
(3)在spring配置文件applicationConfig.xml中開(kāi)啟使用注解代理配置文件
(4)在類中使用注解完成配置

注解有:將對(duì)象注冊(cè)到容器(區(qū)分對(duì)象屬于哪一層):
修改對(duì)象的作用范圍:

在類的成員變量上注解

引用類型注入,需要先把這個(gè)對(duì)象注冊(cè)到容器中延旧。

@Autowired自動(dòng)掃描容器中符合這個(gè)類型的對(duì)象谋国,如果找到的話就會(huì)賦值給變量

8、spring與junit整合測(cè)試


@RunWith(SpringJUnit4ClassRunner.class)注解功能時(shí)幫助我們創(chuàng)建容器

@ContextConfiguration("classpath:applicationContext.xml")指定創(chuàng)建容器時(shí)使用的配置文件
容器創(chuàng)建好之后迁沫,從容器中取對(duì)象的方式如下:


作用:方便程序的測(cè)試
spring對(duì)junit4的支持芦瘾,可以通過(guò)注解方便的測(cè)試spring程序

9、spring的JDBC模板

spring提供了很多模板整合dao技術(shù)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末集畅,一起剝皮案震驚了整個(gè)濱河市近弟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挺智,老刑警劉巖祷愉,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡二鳄,警方通過(guò)查閱死者的電腦和手機(jī)赴涵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)订讼,“玉大人髓窜,你說(shuō)我怎么就攤上這事∑鄣睿” “怎么了寄纵?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)脖苏。 經(jīng)常有香客問(wèn)我程拭,道長(zhǎng),這世上最難降的妖魔是什么棍潘? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任恃鞋,我火速辦了婚禮,結(jié)果婚禮上亦歉,老公的妹妹穿的比我還像新娘山宾。我一直安慰自己,他們只是感情好鳍徽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布资锰。 她就那樣靜靜地躺著,像睡著了一般阶祭。 火紅的嫁衣襯著肌膚如雪绷杜。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,698評(píng)論 1 305
  • 那天濒募,我揣著相機(jī)與錄音鞭盟,去河邊找鬼。 笑死瑰剃,一個(gè)胖子當(dāng)著我的面吹牛齿诉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晌姚,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼粤剧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了挥唠?” 一聲冷哼從身側(cè)響起抵恋,我...
    開(kāi)封第一講書(shū)人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宝磨,沒(méi)想到半個(gè)月后弧关,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體盅安,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年世囊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了别瞭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡株憾,死狀恐怖畜隶,靈堂內(nèi)的尸體忽然破棺而出号胚,到底是詐尸還是另有隱情,我是刑警寧澤猫胁,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布跛锌,位于F島的核電站,受9級(jí)特大地震影響髓帽,放射性物質(zhì)發(fā)生泄漏菠赚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一郑藏、第九天 我趴在偏房一處隱蔽的房頂上張望衡查。 院中可真熱鬧,春花似錦必盖、人聲如沸拌牲。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)塌忽。三九已至,卻和暖如春失驶,著一層夾襖步出監(jiān)牢的瞬間土居,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工嬉探, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留擦耀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓涩堤,卻偏偏與公主長(zhǎng)得像埂奈,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子定躏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.then账磺、contact芹敌、merge、combineLatest then:是串型執(zhí)行 當(dāng)信號(hào)A 執(zhí)行了[su...
    LeeDev閱讀 234評(píng)論 0 0
  • 小麥兜媽媽閱讀 89評(píng)論 0 0
  • 最近垮抗,不知怎么就說(shuō)到了現(xiàn)實(shí)情況和感受方面的關(guān)系和影響氏捞。其實(shí)自己經(jīng)常性的會(huì)分不清什么是現(xiàn)實(shí)、什么是感受而已冒版。 事實(shí)那...
    他們叫我鋼子閱讀 669評(píng)論 0 1