産品特色
編輯推薦
適讀人群 :具有一定Java基礎的應用開發者,包括大專院校的計算機學科學生,使用Java進行應用開發的初,中,高級開發者。 本書是在《精通Spring 3.x——企業應用開發詳解》的基礎上,曆時一年的重大調整改版而成的,延續瞭上一版本“追求深度,注重原理,不停留在技術錶麵”的寫作風格,力求使讀者在熟練使用Spring的各項功能的同時透徹理解Spring的內部實現,真正做到知其然並知其所以然。此外,本書重點突齣瞭“實戰性”的主題,力求使全書內容體現“從實際項目中來,到實際項目中去”的寫作原則。
內容簡介
Spring 4.0是Spring在積蓄4年後,隆重推齣的一個重大升級版本,進一步加強瞭Spring作為Java領域**開源平颱的翹楚地位。Spring 4.0引入瞭眾多Java開發者翹首以盼的基於Groovy Bean的配置、HTML 5/WebSocket支持等新功能,全麵支持Java 8.0,*低要求是Java 6.0。這些新功能實用性強、易用性高,可大幅降低Java應用,特彆是Java Web應用開發的難度,同時有效提升應用開發的優雅性。本書是在《精通Spring 3.x――企業應用開發詳解》的基礎上,曆時一年的重大調整改版而成的,延續瞭上一版本“追求深度,注重原理,不停留在技術錶麵”的寫作風格,力求使讀者在熟練使用Spring的各項功能的同時透徹理解Spring的內部實現,真正做到知其然並知其所以然。此外,本書重點突齣瞭“實戰性”的主題,力求使全書內容體現“從實際項目中來,到實際項目中去”的寫作原則。
作者簡介
陳雄華
技術高手,畢業於廈門大學計算機與信息工程學院,傾心Spring技術研究多年,是ROP開源項目創始人,擔任過多傢公司的係統架構師、技術總監,主持過多個大型企業級應用及多傢公司基礎技術平颱的研發,擁有豐富的一綫實戰經驗。齣版《精通JBuilder 2005》、《精通Spring 3.x》、《Spring就這麼簡單》等多本技術書籍,廣受讀者好評。
林開雄
資深軟件開發經理,擁有10餘年軟件開發經驗,對Spring、大數據、應用虛擬化、微服務等開源技術的應用和實現原理有深入研究,擁有豐富的産品研發實戰經驗,目前專注於大數據解決方案以及微服務的研究與實施,參與《精通Spring 3.x》、《Spring就這麼簡單》等多本技術書籍的創作。
文建國
係統架構設計師、高級項目經理,精通Spring等優秀開源技術在企業中的應用,主要研究方嚮為雲計算、大數據、業務基礎平颱、分布式等技術。曾參與中國電信ITSP 3.0技術架構規範的編寫,有多個大型全國集中項目的架構和管理經驗。目前緻力於“智能製造”的人機一體化係統研發,希望通過物聯網與互聯網的融閤提升生産效率和增強企業原有係統。熱衷於開源技術布道,曾譯有《Spring Data實戰》、《大規模Java平颱虛擬化與調優》等書籍。
目錄
? 第1篇 基礎篇
第1章 Spring概述 2
1.1 認識Spring 2
1.2 關於SpringSource 4
1.3 Spring帶給我們什麼 5
1.4 Spring體係結構 6
1.5 Spring對Java版本的要求 8
1.6 Spring 4.0新特性 8
1.6.1 全麵支持Java 8.0 9
1.6.2 核心容器的增強 11
1.6.3 支持用Groovy定義Bean 12
1.6.4 Web的增強 12
1.6.5 支持WebSocket 12
1.6.6 測試的增強 13
1.6.7 其他 13
1.7 Spring子項目 13
1.8 如何獲取Spring 15
1.9 小結 16
第2章 快速入門 17
2.1 實例概述 17
2.1.1 比Hello World更適用的實例 18
2.1.2 實例功能簡介 18
2.2 環境準備 20
2.2.1 構建工具Maven 20
2.2.2 創建庫錶 22
2.2.3 建立工程 23
2.2.4 類包及Spring配置文件規劃 28
2.3 持久層 29
2.3.1 建立領域對象 29
2.3.2 UserDao 30
2.3.3 LoginLogDao 33
2.3.4 在Spring中裝配DAO 34
2.4 業務層 35
2.4.1 UserService 35
2.4.2 在Spring中裝配Service 37
2.4.3 單元測試 38
2.5 展現層 40
2.5.1 配置Spring MVC框架 40
2.5.2 處理登錄請求 42
2.5.3 JSP視圖頁麵 44
2.6 運行Web應用 46
2.7 小結 48
第3章 Spring Boot 49
3.1 Spring Boot概覽 49
3.1.1 Spring Boot發展背景 50
3.1.2 Spring Boot特點 50
3.1.3 Spring Boot啓動器 50
3.2 快速入門 52
3.3 安裝配置 54
3.3.1 基於Maven環境配置 54
3.3.2 基於Gradle環境配置 56
3.3.3 基於Spring Boot CLI環境
配置 57
3.3.4 代碼包結構規劃 58
3.4 持久層 59
3.4.1 初始化配置 59
3.4.2 UserDao 61
3.5 業務層 62
3.6 展現層 64
3.6.1 配置pom.xml依賴 64
3.6.2 配置Spring MVC框架 65
3.6.3 處理登錄請求 65
3.7 運維支持 67
3.8 小結 70
? 第2篇 核心篇
第4章 IoC容器 72
4.1 IoC概述 72
4.1.1 通過實例理解IoC的概念 73
4.1.2 IoC的類型 75
4.1.3 通過容器完成依賴關係的
注入 77
4.2 相關Java基礎知識 78
4.2.1 簡單實例 78
4.2.2 類裝載器ClassLoader 80
4.2.3 Java反射機製 83
4.3 資源訪問利器 85
4.3.1 資源抽象接口 85
4.3.2 資源加載 88
4.4 BeanFactory和ApplicationContext 91
4.4.1 BeanFactory介紹 92
4.4.2 ApplicationContext介紹 94
4.4.3 父子容器 103
4.5 Bean的生命周期 103
4.5.1 BeanFactory中Bean的生命
周期 103
4.5.2 ApplicationContext中Bean
的生命周期 112
4.6 小結 114
第5章 在IoC容器中裝配Bean 115
5.1 Spring配置概述 116
5.1.1 Spring容器高層視圖 116
5.1.2 基於XML的配置 117
5.2 Bean基本配置 120
5.2.1 裝配一個Bean 120
5.2.2 Bean的命名 120
5.3 依賴注入 121
5.3.1 屬性注入 121
5.3.2 構造函數注入 124
5.3.3 工廠方法注入 128
5.3.4 選擇注入方式的考量 130
5.4 注入參數詳解 130
5.4.1 字麵值 130
5.4.2 引用其他Bean 131
5.4.3 內部Bean 133
5.4.4 null值 133
5.4.5 級聯屬性 134
5.4.6 集閤類型屬性 134
5.4.7 簡化配置方式 138
5.4.8 自動裝配 141
5.5 方法注入 142
5.5.1 lookup方法注入 142
5.5.2 方法替換 143
5.6 <bean>之間的關係 144
5.6.1 繼承 144
5.6.2 依賴 145
5.6.3 引用 146
5.7 整閤多個配置文件 147
5.8 Bean作用域 148
5.8.1 singleton作用域 148
5.8.2 prototype作用域 149
5.8.3 與Web應用環境相關的Bean
作用域 150
5.8.4 作用域依賴問題 152
5.9 FactoryBean 153
5.10 基於注解的配置 155
5.10.1 使用注解定義Bean 155
5.10.2 掃描注解定義的Bean 156
5.10.3 自動裝配Bean 157
5.10.4 Bean作用範圍及生命過程
方法 162
5.11 基於Java類的配置 164
5.11.1 使用Java類提供Bean定義
信息 164
5.11.2 使用基於Java類的配置信息
啓動Spring容器 167
5.12 基於Groovy DSL的配置 169
5.12.1 使用Groovy DSL提供Bean
定義信息 169
5.12.2 使用GenericGroovyApplication
Context啓動Spring容器 171
5.13 通過編碼方式動態添加Bean 172
5.13.1 通過DefaultListableBean
Factory 172
5.13.2 擴展自定義標簽 173
5.14 不同配置方式比較 175
5.15 小結 177
第6章 Spring容器高級主題 178
6.1 Spring容器技術內幕 178
6.1.1 內部工作機製 179
6.1.2 BeanDefinition 182
6.1.3 InstantiationStrategy 183
6.1.4 BeanWrapper 183
6.2 屬性編輯器 184
6.2.1 JavaBean的編輯器 185
6.2.2 Spring默認屬性編輯器 188
6.2.3 自定義屬性編輯器 189
6.3 使用外部屬性文件 192
6.3.1 PropertyPlaceholderConfigurer
屬性文件 192
6.3.2 使用加密的屬性文件 195
6.3.3 屬性文件自身的引用 198
6.4 引用Bean的屬性值 199
6.5 國際化信息 201
6.5.1 基礎知識 201
6.5.2 MessageSource 206
6.5.3 容器級的國際化信息資源 209
6.6 容器事件 210
6.6.1 Spring事件類結構 211
6.6.2 解構Spring事件體係的具體
實現 213
6.6.3 一個實例 214
6.7 小結 215
第7章 Spring AOP基礎 216
7.1 AOP概述 216
7.1.1 AOP到底是什麼 217
7.1.2 AOP術語 219
7.1.3 AOP的實現者 221
7.2 基礎知識 222
7.2.1 帶有橫切邏輯的實例 222
7.2.2 JDK動態代理 224
7.2.3 CGLib動態代理 228
7.2.4 AOP聯盟 229
7.2.5 代理知識小結 230
7.3 創建增強類 230
7.3.1 增強類型 230
7.3.2 前置增強 231
7.3.3 後置增強 235
7.3.4 環繞增強 236
7.3.5 異常拋齣增強 237
7.3.6 引介增強 239
7.4 創建切麵 243
7.4.1 切點類型 243
7.4.2 切麵類型 244
7.4.3 靜態普通方法名匹配切麵 246
7.4.4 靜態正則錶達式方法匹配
切麵 248
7.4.5 動態切麵 251
7.4.6 流程切麵 254
7.4.7 復閤切點切麵 256
7.4.8 引介切麵 258
7.5 自動創建代理 259
7.5.1 實現類介紹 259
7.5.2 BeanNameAutoProxyCreator 260
7.5.3 DefaultAdvisorAutoProxy
Creator 261
7.5.4 AOP無法增強疑難問題
剖析 262
7.6 小結 267
第8章 基於@AspectJ和Schema的
AOP 269
8.1 Spring對AOP的支持 269
8.2 Java 5.0注解知識快速進階 270
8.2.1 瞭解注解 270
8.2.2 一個簡單的注解類 271
8.2.3 使用注解 272
8.2.4 訪問注解 273
8.3 著手使用@AspectJ 274
8.3.1 使用前的準備 275
8.3.2 一個簡單的例子 275
8.3.3 如何通過配置使用@AspectJ
切麵 277
8.4 @AspectJ語法基礎 278
8.4.1 切點錶達式函數 278
8.4.2 在函數入參中使用通配符 279
8.4.3 邏輯運算符 280
8.4.4 不同增強類型 281
8.4.5 引介增強用法 282
8.5 切點函數詳解 283
8.5.1 @annotation() 284
8.5.2 execution() 285
8.5.3 args()和@args() 287
8.5.4 within() 288
8.5.5 @within()和@target() 289
8.5.6 target()和this() 290
8.6 @AspectJ進階 291
8.6.1 切點復閤運算 292
8.6.2 命名切點 292
8.6.3 增強織入的順序 294
8.6.4 訪問連接點信息 294
8.6.5 綁定連接點方法入參 295
8.6.6 綁定代理對象 297
8.6.7 綁定類注解對象 298
8.6.8 綁定返迴值 299
8.6.9 綁定拋齣的異常 299
8.7 基於Schema配置切麵 300
8.7.1 一個簡單切麵的配置 300
8.7.2 配置命名切點 302
8.7.3 各種增強類型的配置 303
8.7.4 綁定連接點信息 305
8.7.5 Advisor配置 306
8.8 混閤切麵類型 307
8.8.1 混閤使用各種切麵類型 308
8.8.2 各種切麵類型總結 308
8.9 其他 309
8.9.1 JVM Class文件字節碼轉換
基礎知識 309
8.9.2 使用LTW織入切麵 311
8.10 小結 314
第9章 Spring SpEL 316
9.1 JVM動態語言 316
9.2 SpEL錶達式概述 318
9.3 SpEL核心接口 319
9.3.1 EvaluationContext接口 320
9.3.2 SpEL編譯器 321
9.4 SpEL基礎錶達式 323
9.4.1 文本字符解析 323
9.4.2 對象屬性解析 323
9.4.3 數組、集閤類型解析 324
9.4.4 方法解析 326
9.4.5 操作符解析 327
9.4.6 安全導航操作符 329
9.4.7 三元操作符 330
9.4.8 Elvis操作符 331
9.4.9 賦值、類型、構造器、變量 332
9.4.10 集閤過濾 335
9.4.11 集閤轉換 335
9.5 在Spring中使用SpEL 336
9.5.1 基於XML的配置 336
9.5.2 基於注解的配置 337
9.6 小結 338
? 第3篇 數據篇
第10章 Spring對DAO的支持 340
10.1 Spring的DAO理念 340
10.2 統一的異常體係 341
10.2.1 Spring的DAO異常體係 341
10.2.2 JDBC的異常轉換器 343
10.2.3 其他持久化技術的異常
轉換器 344
10.3 統一數據訪問模闆 344
10.3.1 使用模闆和迴調機製 345
10.3.2 Spring為不同持久化技術
所提供的模闆類 347
10.4 數據源 348
10.4.1 配置一個數據源 348
10.4.2 獲取JNDI數據源 352
10.4.3 Spring的數據源實現類 353
10.5 小結 353
第11章 Spring的事務管理 355
11.1 數據庫事務基礎知識 355
11.1.1 何為數據庫事務 356
11.1.2 數據並發的問題 357
11.1.3 數據庫鎖機製 359
11.1.4 事務隔離級彆 360
11.1.5 JDBC對事務的支持 361
11.2 ThreadLocal基礎知識 362
11.2.1 ThreadLocal是什麼 363
11.2.2 ThreadLocal的接口方法 363
11.2.3 一個TheadLocal實例 364
11.2.4 與Thread同步機製的比較 366
11.2.5 Spring使用ThreadLocal解決
綫程安全問題 366
11.3 Spring對事務管理的支持 368
11.3.1 事務管理關鍵抽象 369
11.3.2 Spri
精通Spring 4.x ――企業應用開發實戰 下載 mobi epub pdf txt 電子書 格式