Spring

1.Spring概述:

Spring 是一個開源框架,為簡化企業(yè)級應(yīng)用開發(fā)而生袋哼。Spring可以是使簡單的 JavaBean 實現(xiàn)以前只有 EJB 才能實現(xiàn)的功能凯沪。 Spring 是一個 IOC 和 AOP 容器框架莱革。

Spring 容器的主要核心是:

控制反轉(zhuǎn)(IOC):

傳統(tǒng)的 java 開發(fā)模式中,當(dāng)需要一個對象時咽袜,我們會自己使用 new 或者 getInstance 等直接
或者間接調(diào)用構(gòu)造方法創(chuàng)建一個對象丸卷。而在 spring 開發(fā)模式中, spring 容器使用了工廠模式為我們創(chuàng)建了所需要的對
象询刹,不需要我們自己創(chuàng)建了谜嫉,直接調(diào)用 spring 提供的對象就可以了,這是控制反轉(zhuǎn)的思想凹联。

依賴注入(DI):

spring 使用 javaBean 對象的 set 方法或者帶參數(shù)的構(gòu)造方法為我們在創(chuàng)建所需對象時將其屬
性自動設(shè)置所需要的值的過程沐兰,就是依賴注入的思想。

面向切面編程(AOP):

在面向?qū)ο缶幊蹋╫op)思想中蔽挠,我們將事物縱向抽成一個個的對象住闯。而在面向切面編程
中,我們將一個個的對象某些類似的方面橫向抽成一個切面澳淑,對這個切面進行一些如權(quán)限控制比原、事物管理,記錄日志等公用操作處理的過程就是面向切面編程的思想杠巡。 AOP 底層是動態(tài)代理量窘,如果是接口采用 JDK 動態(tài)代理,如果是類采用CGLIB 方式實現(xiàn)動態(tài)代理

2.依賴注入

http://www.reibang.com/p/99b03b46c243

3.加載配置文件的三種方式:

ClassPathXmlApplicationContext:

它是從類的根路徑下加載配置文件,推薦使用這種

FileSystemXmlApplicationContext:

它是從磁盤路徑上加載配置文件氢拥,配置文件可以在磁盤的任意位置蚌铜。

AnnotationConfigApplicationContext:

當(dāng)我們使用注解配置容器對象時,需要使用此類來創(chuàng)建 spring 容器嫩海。它用來讀取注解冬殃。

4.常用注解

http://www.reibang.com/p/cb2e1a1d6b4c

5.Spring 整合 Junit

1.拷貝整合 junit 的必備 jar 包到 lib 目錄

此處需要注意的是,導(dǎo)入 jar 包時出革,需要導(dǎo)入一個 spring 中 aop 的 jar 包

2.使用@RunWith 注解替換原有運行器
@RunWith(SpringJUnit4ClassRunner.class)
public class AccountServiceTest {
}
3.使用@ContextConfiguration 指定 spring 配置文件的位置
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:bean.xml"})
public class AccountServiceTest {
}

@ContextConfiguration 注解:
locations 屬性: 用于指定配置文件的位置造壮。如果是類路徑下渡讼,需要用 classpath:表明
classes 屬性: 用于指定注解的類骂束。當(dāng)不使用 xml 配置時,需要用此屬性指定注解類的位置成箫。

4.使用@Autowired 給測試類中的變量注入數(shù)據(jù)
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:bean.xml"})
public class AccountServiceTest {
@Autowired
private IAccountService as ;
}

6.AOP

AOP: 全稱是 Aspect Oriented Programming 即: 面向切面編程展箱。
簡單的說它就是把我們程序重復(fù)的代碼抽取出來,在需要執(zhí)行的時候蹬昌,使用動態(tài)代理的技術(shù)混驰,在不修改源碼的
基礎(chǔ)上,對我們的已有方法進行增強。

AOP相關(guān)術(shù)語:

Joinpoint(連接點):

所謂連接點是指那些被攔截到的點栖榨。在 spring 中,這些點指的是方法,因為 spring 只支持方法類型的連接點昆汹。

Pointcut(切入點):

所謂切入點是指我們要對哪些 Joinpoint 進行攔截的定義。

Advice(通知/增強):

所謂通知是指攔截到 Joinpoint 之后所要做的事情就是通知婴栽。通知的類型: 前置通知,后置通知,異常通知,最終通知,環(huán)繞通知满粗。

Introduction(引介):

引介是一種特殊的通知在不修改類代碼的前提下, Introduction可以在運行期為類動態(tài)地添加一些方
法或 Field。

Target(目標(biāo)對象):

代理的目標(biāo)對象愚争。

Weaving(織入):

是指把增強應(yīng)用到目標(biāo)對象來創(chuàng)建新的代理對象的過程映皆。
spring 采用動態(tài)代理織入,而 AspectJ 采用編譯期織入和類裝載期織入轰枝。
Proxy(代理) :
一個類被 AOP 織入增強后捅彻,就產(chǎn)生一個結(jié)果代理類。

Aspect(切面):

是切入點和通知(引介)的結(jié)合鞍陨。

7.兩種aop配置方式:

http://www.reibang.com/p/3a3a9157feaf

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末步淹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子诚撵,更是在濱河造成了極大的恐慌贤旷,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砾脑,死亡現(xiàn)場離奇詭異幼驶,居然都是意外死亡分蓖,警方通過查閱死者的電腦和手機饼疙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來群嗤,“玉大人畅铭,你說我怎么就攤上這事氏淑。” “怎么了硕噩?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵假残,是天一觀的道長。 經(jīng)常有香客問我炉擅,道長辉懒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任谍失,我火速辦了婚禮眶俩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘快鱼。我一直安慰自己颠印,他們只是感情好纲岭,可當(dāng)我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著线罕,像睡著了一般止潮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钞楼,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天沽翔,我揣著相機與錄音,去河邊找鬼窿凤。 笑死仅偎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的雳殊。 我是一名探鬼主播橘沥,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼夯秃!你這毒婦竟也來了座咆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤仓洼,失蹤者是張志新(化名)和其女友劉穎介陶,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體色建,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡哺呜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了箕戳。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片某残。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖陵吸,靈堂內(nèi)的尸體忽然破棺而出玻墅,到底是詐尸還是另有隱情,我是刑警寧澤壮虫,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布澳厢,位于F島的核電站,受9級特大地震影響囚似,放射性物質(zhì)發(fā)生泄漏剩拢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一谆构、第九天 我趴在偏房一處隱蔽的房頂上張望裸扶。 院中可真熱鬧框都,春花似錦搬素、人聲如沸呵晨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽摸屠。三九已至,卻和暖如春粱哼,著一層夾襖步出監(jiān)牢的瞬間季二,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工揭措, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留胯舷,地道東北人。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓绊含,卻偏偏與公主長得像桑嘶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子躬充,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,955評論 2 355

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