2019-02-20 Spring技術(shù)內(nèi)幕(第2版)

目錄

編輯

前言

第1章 spring的設(shè)計(jì)理念和整體架構(gòu) / 1

1.1 spring的各個(gè)子項(xiàng)目 / 2

1.2 spring的設(shè)計(jì)目標(biāo) / 5

1.3 spring的整體架構(gòu) / 7

1.4 spring的應(yīng)用場(chǎng)景 / 10

1.5 小結(jié) / 12

第一部分 spring核心實(shí)現(xiàn)篇

第2章 spring framework的核心:ioc容器的實(shí)現(xiàn) / 16

2.1 spring ioc容器概述 / 17

2.1.1 ioc容器和依賴(lài)反轉(zhuǎn)模式 / 17

2.1.2 spring ioc的應(yīng)用場(chǎng)景 / 18

2.2 ioc容器系列的設(shè)計(jì)與實(shí)現(xiàn):beanfactory和applicationcontext / 19

2.2.1 spring的ioc容器系列 / 19

2.2.2 spring ioc容器的設(shè)計(jì) / 21

2.3 ic容器的初始化過(guò)程 / 28

2.3.1 beandefinition的resource定位 / 29

2.3.2 beandefinition的載入和解析 / 37

2.3.3 beandefinition在ioc容器中的注冊(cè) / 52

.2.4 ioc容器的依賴(lài)注入 / 54

2.5 容器其他相關(guān)特性的設(shè)計(jì)與實(shí)現(xiàn) / 75

2.5.1 applicationcontext和bean的初始化及銷(xiāo)毀 / 75

2.5.2 lazy-init屬性和預(yù)實(shí)例化 / 81

2.5.3 factorybean的實(shí)現(xiàn) / 82

2.5.4 beanpostprocessor的實(shí)現(xiàn) / 85

2.5.5 autowiring(自動(dòng)依賴(lài)裝配)的實(shí)現(xiàn) / 88

2.5.6 bean的依賴(lài)檢查 / 90

2.5.7 bean對(duì)ioc容器的感知 / 91

2.6 小結(jié) / 92

第3章 spring aop的實(shí)現(xiàn) / 94

3.1 spring aop概述 / 95

3.1.1 aop概念回顧 / 95

3.1.2 advice通知 / 98

3.1.3 pointcut切點(diǎn) / 102

3.1.4 advisor通知器 / 105

3.2 spring aop的設(shè)計(jì)與實(shí)現(xiàn) / 106

3.2.1 jvm的動(dòng)態(tài)代理特性 / 106

3.2.2 spring aop的設(shè)計(jì)分析 / 108

3.2.3 spring aop的應(yīng)用場(chǎng)景 / 108

3.3 建立aopproxy代理對(duì)象 / 109

3.3.1 設(shè)計(jì)原理 / 109

3.3.2 配置proxyfactorybean / 110

3.3.3 proxyfactorybean生成aopproxy代理對(duì)象 / 111

3.3.4 jdk生成aopproxy代理對(duì)象 / 116

3.3.5 cglib生成aopproxy代理對(duì)象 / 117

3.4 spring aop攔截器調(diào)用的實(shí)現(xiàn) / 119

3.4.1 設(shè)計(jì)原理 / 119

3.4.2 jdkdynamicaopproxy的invoke攔截 / 120

3.4.3 cglib2aopproxy的intercept攔截 / 121

3.4.4 目標(biāo)對(duì)象方法的調(diào)用 / 122

3.4.5 aop攔截器鏈的調(diào)用 / 123

3.4.6 配置通知器 / 124

3.4.7 advice通知的實(shí)現(xiàn) / 129

3.4.8 proxyfactory實(shí)現(xiàn)aop / 136

3.5 spring aop的高級(jí)特性 / 138

3.6 小結(jié) / 140

第二部分 spring組件實(shí)現(xiàn)篇

第4章 spring mvc與web環(huán)境 / 145

4.1 spring mvc概述 / 146

4.2 web環(huán)境中的spring mvc / 148

4.3 上下文在web容器中的啟動(dòng) / 149

4.3.1 ioc容器啟動(dòng)的基本過(guò)程 / 149

4.3.2 web容器中的上下文設(shè)計(jì) / 151

4.3.3 contextloader的設(shè)計(jì)與實(shí)現(xiàn) / 154

4.4 spring mvc的設(shè)計(jì)與實(shí)現(xiàn) / 158

4.4.1 spring mvc的應(yīng)用場(chǎng)景 / 158

4.4.2 spring mvc設(shè)計(jì)概覽 / 158

4.4.3 dispatcherservlet的啟動(dòng)和初始化 / 160

4.4.4 mvc處理http分發(fā)請(qǐng)求 / 166

4.5 spring mvc視圖的呈現(xiàn) / 178

4.5.1 dispatcherservlet視圖呈現(xiàn)的設(shè)計(jì) / 178

4.5.2 jsp視圖的實(shí)現(xiàn) / 182

4.5.3 excelview的實(shí)現(xiàn) / 185

4.5.4 pdf視圖的實(shí)現(xiàn) / 187

4.6 小結(jié) / 189

第5章 數(shù)據(jù)庫(kù)操作組件的實(shí)現(xiàn) / 191

5.1 spring jdbc的設(shè)計(jì)與實(shí)現(xiàn) / 192

5.1.1 應(yīng)用場(chǎng)景 / 192

5.1.2 設(shè)計(jì)概要 / 192

5.2 spring jdbc中模板類(lèi)的設(shè)計(jì)與實(shí)現(xiàn) / 193

5.2.1 設(shè)計(jì)原理 / 193

5.2.2 jdbctemplate的基本使用 / 193

5.2.3 jdbctemplate的execute實(shí)現(xiàn) / 194

5.2.4 jdbctemplate的query實(shí)現(xiàn) / 196

5.2.5 使用數(shù)據(jù)庫(kù)connection / 197

5.3 spring jdbc中rdbms操作對(duì)象的實(shí)現(xiàn) / 199

5.3.1 sqlquery的實(shí)現(xiàn) / 200

5.3.2 sqlupdate的實(shí)現(xiàn) / 204

5.3.3 sqlfunction / 206

5.4 spring orm的設(shè)計(jì)與實(shí)現(xiàn) / 208

5.4.1 應(yīng)用場(chǎng)景 / 208

5.4.2 設(shè)計(jì)概要 / 208

5.5 spring驅(qū)動(dòng)hibernate的設(shè)計(jì)與實(shí)現(xiàn) / 209

5.5.1 設(shè)計(jì)原理 / 210

5.5.2 hibernate的sessionfactory / 210

5.5.3 hibernatetemplate的實(shí)現(xiàn) / 215

5.5.4 session的管理 / 219

5.6 spring驅(qū)動(dòng)ibatis的設(shè)計(jì)與實(shí)現(xiàn) / 222

5.6.1 設(shè)計(jì)原理 / 222

5.6.2 創(chuàng)建sqlmapclient / 222

5.6.3 sqlmapclienttemplate的實(shí)現(xiàn) / 224

5.7 小結(jié) / 227

第6章 spring事務(wù)處理的實(shí)現(xiàn) / 228

6.1 spring與事務(wù)處理 / 229

6.2 spring事務(wù)處理的設(shè)計(jì)概覽 / 229

6.3 spring事務(wù)處理的應(yīng)用場(chǎng)景 / 230

6.4 spring聲明式事務(wù)處理 / 231

6.4.1 設(shè)計(jì)原理與基本過(guò)程 / 231

6.4.2 實(shí)現(xiàn)分析 / 231

6.5 spring事務(wù)處理的設(shè)計(jì)與實(shí)現(xiàn) / 241

6.5.1 spring事務(wù)處理的編程式使用 / 241

6.5.2 事務(wù)的創(chuàng)建 / 242

6.5.3 事務(wù)的掛起 / 249

6.5.4 事務(wù)的提交 / 251

6.5.5 事務(wù)的回滾 / 253

6.6 spring事務(wù)處理器的設(shè)計(jì)與實(shí)現(xiàn) / 255

6.6.1 spring事務(wù)處理的應(yīng)用場(chǎng)景 / 255

6.6.2 datasourcetransactionmanager的實(shí)現(xiàn) / 256

6.6.3 hibernatetransactionmanager的實(shí)現(xiàn) / 259

6.7 小結(jié) / 265

第7章 spring遠(yuǎn)端調(diào)用的實(shí)現(xiàn) / 267

7.1 spring遠(yuǎn)端調(diào)用的應(yīng)用場(chǎng)景 / 268

7.2 spring遠(yuǎn)端調(diào)用的設(shè)計(jì)概覽 / 268

7.3 spring遠(yuǎn)端調(diào)用的實(shí)現(xiàn) / 271

7.3.1 spring http調(diào)用器的實(shí)現(xiàn) / 271

7.3.2 spring hession/burlap的實(shí)現(xiàn)原理 / 282

7.3.3 spring rmi的實(shí)現(xiàn) / 295

7.4 小結(jié) / 302

第三部分 spring應(yīng)用實(shí)現(xiàn)篇

第8章 安全框架acegi的設(shè)計(jì)與實(shí)現(xiàn) / 307

8.1 spring acegi安全框架概述 / 308

8.1.1 概述 / 308

8.1.2 設(shè)計(jì)原理與基本實(shí)現(xiàn)過(guò)程 / 308

8.1.3 acegi的bean配置 / 309

8.2 配置spring acegi / 310

8.3 acegi的web過(guò)濾器實(shí)現(xiàn) / 313

8.4 acegi驗(yàn)證器的實(shí)現(xiàn) / 315

8.4.1 authenticationmanager的authenticate / 315

8.4.2 daoauthenticationprovider的實(shí)現(xiàn) / 318

8.4.3 讀取數(shù)據(jù)庫(kù)用戶(hù)信息 / 320

8.4.4 完成用戶(hù)信息的對(duì)比驗(yàn)證 / 323

8.5 acegi授權(quán)器的實(shí)現(xiàn) / 324

8.5.1 與web環(huán)境的接口filtersecurityinterceptor / 324

8.5.2 授權(quán)器的實(shí)現(xiàn) / 327

8.5.3 投票器的實(shí)現(xiàn) / 329

8.6 小結(jié) / 330

第9章 spring dm模塊的設(shè)計(jì)與實(shí)現(xiàn) / 332

9.1 spring dm模塊的應(yīng)用場(chǎng)景 / 333

9.2 spring dm的應(yīng)用過(guò)程 / 334

9.3 spring dm設(shè)計(jì)與實(shí)現(xiàn) / 338

9.4 小結(jié) / 348

第10章 spring flex的設(shè)計(jì)與實(shí)現(xiàn) / 350

10.1 spring flex模塊的應(yīng)用場(chǎng)景 / 351

10.2 spring flex的應(yīng)用過(guò)程 / 353

10.3 spring flex的設(shè)計(jì)與實(shí)現(xiàn) / 355

10.4 小結(jié) / 362

附錄a spring項(xiàng)目的源代碼環(huán)境 / 363

附錄b 構(gòu)建spring項(xiàng)目的發(fā)布包 / 378

附錄c 使用spring ide / 381

附錄d spring pet clinic應(yīng)用實(shí)例 / 385

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市采蚀,隨后出現(xiàn)的幾起案子鸠删,更是在濱河造成了極大的恐慌苟翻,老刑警劉巖牢硅,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓢宦,死亡現(xiàn)場(chǎng)離奇詭異造烁,居然都是意外死亡明场,警方通過(guò)查閱死者的電腦和手機(jī)汽摹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)苦锨,“玉大人逼泣,你說(shuō)我怎么就攤上這事嫌套。” “怎么了圾旨?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)魏蔗。 經(jīng)常有香客問(wèn)我砍的,道長(zhǎng),這世上最難降的妖魔是什么莺治? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任廓鞠,我火速辦了婚禮,結(jié)果婚禮上谣旁,老公的妹妹穿的比我還像新娘床佳。我一直安慰自己,他們只是感情好榄审,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布砌们。 她就那樣靜靜地躺著,像睡著了一般搁进。 火紅的嫁衣襯著肌膚如雪浪感。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,842評(píng)論 1 290
  • 那天饼问,我揣著相機(jī)與錄音影兽,去河邊找鬼。 笑死莱革,一個(gè)胖子當(dāng)著我的面吹牛峻堰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盅视,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼捐名,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了闹击?” 一聲冷哼從身側(cè)響起桐筏,我...
    開(kāi)封第一講書(shū)人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拇砰,沒(méi)想到半個(gè)月后梅忌,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡除破,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年牧氮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瑰枫。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡踱葛,死狀恐怖丹莲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情尸诽,我是刑警寧澤甥材,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站性含,受9級(jí)特大地震影響洲赵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜商蕴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一叠萍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绪商,春花似錦苛谷、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至例书,卻和暖如春赫蛇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留儿倒,地道東北人诬乞。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

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