內容簡介
開發內行企業級套用的Spring實戰經驗
Spring入門經典一書全面透徹地介紹SpringFramework;SpringFramework是Java開發領域最流行的框架,是事實上的企業級套用開發標準。本書濃墨重彩地描述實際的企業級解決方案,每一章都提供了通俗易懂的示例和動手練習,以幫助讀者快速掌握必需的技能集來運用Java的全部功能並成功開發應用程式。本書涵蓋POJO模型、ORM支持、SpringMVC、REST服務、SpringSecurity等基礎知識,全面指導你學習整個企業級應用程式工具集的實用功能。
主要內容
◆介紹使用SpringFramework4.0(支持Java8.0和JavaEE7)進行應用程式開發的方方面面
◆在動手實踐的引導下,重點強調如何滿足現實需求並提供可操作的見解
◆列舉了廣泛示例,可將這些示例作為具體的實驗參考,並深入挖掘Java的全部功能
◆由淺入深地講解各項技能,從而幫助開發人員熟練掌握Spring項目中常用的工具和基礎概念
◆詳細討論每個企業級應用程式需要關注的橫向問題,比如事務管理和安全性
書籍信息
作者:Mert Caliskan, Kenan Sevindik 著 王淨,范園芳,田洪 譯
定價:59.80元
印次:1-1
ISBN:9787302412489
出版日期:2015.09.01
印刷日期:2015.09.18
目錄
第1章POJO編程模型、輕量級容器和控制反轉 1
1.1POJO編程模型 2
1.1.1原來的EJB編程模型所存在的問題 2
1.1.2POJO編程模型的優點 7
1.2輕量級容器和控制反轉 8
1.2.1輕量級容器 8
1.2.2控制反轉 9
1.3依賴注入 10
1.3.1Setter注入 11
1.3.2構造函式注入 11
1.3.3Setter注入或構造函式注入 11
1.4小結 12
1.5習題 12
1.6本章主要知識點 12
第2章使用Spring進行依賴注入 15
2.1SpringIoC容器 16
2.1.1配置元數據 16
2.1.2配置和使用容器 18
2.2依賴注入 28
2.2.1Setter注入 28
2.2.2構造函式注入 29
2.2.3循環依賴 32
2.2.4依賴解析過程 33
2.2.5重寫Bean定義 34
2.2.6使用depends-on特性 36
2.2.7自動裝配 37
2.2.8Bean查找 41
2.3Spring管理的Bean 42
2.3.1命名Bean 42
2.3.2Bean實例化方法 43
2.3.3Bean作用域 46
2.3.4延遲初始化 49
2.3.5生命周期回調 50
2.3.6Bean定義配置檔案 52
2.3.7環境 54
2.4小結 57
2.5習題 58
2.6本章主要知識點 58
第3章使用SpringMVC構建Web應用程式 61
3.1學習SpringMVC的功能和優點 62
3.2使用DispatcherServlet機制 63
3.2.1定義Servlet 64
3.2.2訪問Servlet上下文 65
3.3創建第一個SpringMVC應用程式 65
3.4使用註解配置SpringMVC 69
3.5使用JSP處理表單 70
3.5.1配置表單標籤庫 71
3.5.2理解綁定的強大功能 72
3.5.3使用表單 72
3.5.4使用輸入元素 73
3.5.5輸入日期 74
3.5.6使用下拉框進行選擇 74
3.5.7使用單選按鈕進行選擇 75
3.5.8使用複選框進行選擇 76
3.5.9添加標籤 76
3.5.10放置按鈕 76
3.5.11樣式 76
3.6使用註解的強大功能 81
3.6.1@Controller 82
3.6.2@RequestMapping 82
3.6.3@ModeAttribute 82
3.6.4@PathVariable 82
3.6.5@ControllerAdvice 83
3.6.6@InitBinder 83
3.6.7@ExceptionHandler 83
3.7驗證用戶輸入 83
3.8上傳檔案 88
3.9處理異常 91
3.10實現國際化(i18n) 92
3.11使用主題 94
3.12小結 97
3.13習題 97
3.14本章主要知識點 98
第4章使用Spring進行JDBC數據訪問 101
4.1使用普通JDBC所帶來的問題 102
4.2引入Spring的JDBC支持 103
4.2.1管理JDBC連線 103
4.2.2配置和使用Spring的JDBC支持 109
4.3使用Spring執行數據訪問操作 112
4.3.1執行查詢 112
4.3.2使用命名參數進行查詢 115
4.3.3使用In子句編寫查詢 116
4.3.4在JdbcTemplate中使用PreparedStatements 117
4.3.5插入、更新和刪除記錄 119
4.3.6調用存儲過程和存儲函式 122
4.3.7執行批處理操作 124
4.3.8處理BLOB和CLOB對象 124
4.3.9訪問特定於供應商的JDBC方法 125
4.3.10執行DDL操作 125
4.4將JDBC操作模組化為Java對象 126
4.4.1封裝SQL查詢執行 126
4.4.2封裝SQLDML操作 128
4.4.3封裝存儲過程執行 129
4.5異常處理和錯誤代碼轉換 130
4.5.1常見的數據訪問異常層次結構 130
4.5.2SQLException的自動處理和轉換 131
4.6小結 131
4.7習題 132
4.8本章主要知識點 132
第5章通過Spring使用JPA進行數據訪問 135
5.1概述ORM和JPA 136
5.1.1範式不匹配 136
5.1.2ORM框架的構建塊 137
5.1.3JPA所提供的功能 137
5.1.4將對象模型映射到關係模型 137
5.1.5將Java類型映射到SQL類型 142
5.1.6配置和使用JPA 144
5.2Spring的JPA支持 153
5.2.1在Spring容器中設定JPA 153
5.2.2基於純JPA實現DAO 158
5.2.3處理和轉換異常 163
5.2.4在Spring環境中進一步配置JPA 165
5.3小結 168
5.4習題 169
5.5本章主要知識點 169
第6章使用Spring管理事務 171
6.1理解事務管理 172
6.2Spring的事務抽象模型 175
6.2.1本地事務與全局事務 177
6.2.2PlatformTransactionManager實現 178
6.2.3Spring的抽象事務模型的優點 178
6.3使用Spring進行聲明式事務管理 179
6.3.1將服務層與數據訪問技術細節進行隔離 182
6.3.2自定義默認的事務行為 184
6.3.3在類級別使用@Transactional 185
6.3.4理解事務傳播規則 186
6.3.5使用進行聲明式事務管理 190
6.4使用Spring進行編程式事務管理 193
6.5在事務之前或者之後執行自定義邏輯 198
6.5.1通知事務性操作 199
6.5.2使用TransactionSynchronization執行事務後的邏輯 200
6.6小結 201
6.7習題 201
6.8本章主要知識點 201
第7章使用Spring進行測試驅動開發 203
7.1配置和快取ApplicationContext 204
7.1.1在測試中使用基於XML和基於Java的上下文配置 204
7.1.2使用ApplicationContextInitializer配置上下文 207
7.1.3繼承上下文配置 208
7.1.4ApplicationContext快取 210
7.2注入測試夾具的依賴項 211
7.3在測試中使用事務管理 213
7.4測試Web應用程式 216
7.4.1測試中的上下文層次結構 218
7.4.2測試Request和Session作用域的Bean 219
7.4.3測試SpringMVC項目 221
7.5使用Mock對象以及其他用於測試的實用工具 225
7.5.1Spring針對測試所提供的Mock對象 226
7.5.2其他實用工具和測試註解 226
7.6小結 227
7.7習題 227
7.8本章主要知識點 228
第8章使用Spring進行面向方面編程 229
8.1在Spring中開始使用AOP 230
8.2熟悉通知的類型 235
8.2.1Before 236
8.2.2AfterReturning 236
8.2.3AfterThrowing 236
8.2.4After(Finally) 237
8.2.5Around 238
8.3定義切入點指示符 239
8.3.1類型簽名表達式 240
8.3.2方法簽名表達式 240
8.3.3其他替代的切入點指示符 240
8.4利用註解的強大功能 241
8.4.1@Before 241
8.4.2@PointCut 242
8.4.3@After 243
8.4.4@AfterReturning 243
8.4.5@AfterThrowing 244
8.4.6@Aspect 244
8.4.7@Around 244
8.4.8@DeclareParents 245
8.5將ApectJ和Spring融合在一起 246
8.6使用註解配置SpringAOP 250
8.7小結 251
8.8習題 251
8.9本章主要知識點 252
第9章Spring表達式語言 253
9.1使用SpEL配置應用程式 254
9.2創建一個分析器 256
9.3調用方法 260
9.3.1調用構造函式 262
9.3.2調用靜態方法 263
9.4使用變數和函式 263
9.4.1#root 263
9.4.2#this 264
9.4.3訪問系統屬性和環境 264
9.4.4內聯列表 264
9.4.5註冊函式 265
9.5了解SpEL運算符 265
9.5.1關係運算符 266
9.5.2算術運算符 266
9.5.3邏輯運算符 266
9.5.4條件運算符 267
9.5.5正則表達式運算符 268
9.5.6安全導航運算符 269
9.5.7集合選擇和投影 269
9.5.8選擇集合中的第一個和最後一個元素 270
9.6使用SpEL中的實用工具 271
9.6.1訪問SpringBean 271
9.6.2271
9.6.3快取中的表達式 272
9.7小結 272
9.8習題 272
9.9本章主要知識點 272
第10章快取 275
10.1創建第一個快取應用程式 276
10.1.1使用一個不同的名稱配置快取管理器 279
10.1.2使用註解配置快取抽象 279
10.2使用快取註解 280
10.2.1@Cacheable 280
10.2.2@CacheEvict 282
10.2.3@CachePut 282
10.2.4@Caching 282
10.3實現快取管理器 283
10.3.1SimpleCacheManager 283
10.3.2NoOpCacheManager 284
10.3.3ConcurrentMapCacheManager 284
10.3.4CompositeCacheManager 284
10.4將SpEL投射到快取中 285
10.5以編程方式初始化快取 286
10.6尋找替換的快取提供程式 288
10.6.1Ehcache 288
10.6.2Guava 292
10.6.3Hazelcast 292
10.7小結 293
10.8習題 293
10.9本章主要知識點 294
第11章使用Spring開發REST風格的Web服務 295
11.1創建第一個RESTWeb服務 296
11.2從RESTWeb服務返回不同的HTTP狀態碼 307
11.3學習一種基於註解的配置替換方法 308
11.4通過XML使用RESTWeb服務 309
11.5使用異常處理機制 312
11.6對REST風格的服務進行單元測試 315
11.7小結 318
11.8習題 318
11.9本章主要知識點 318
第12章使用SpringSecurity保護Web應用程式的安全 321
12.1為什麼要使用SpringSecurity 322
12.2SpringSecurity的功能 323
12.3配置和使用SpringSecurity 324
12.4理解SpringSecurity的基礎構建基塊 330
12.5對用戶進行身份驗證 331
12.5.1不成功的登錄流程 331
12.5.2成功的登錄流程 332
12.5.3匿名身份驗證 333
12.5.4自定義登錄頁面 334
12.5.5註銷過程 335
12.5.6使用JDBC訪問UserDetails 336
12.5.7對密碼進行加密 339
12.5.8Remember-Me支持 339
12.5.9用戶會話管理 341
12.5.10基本身份驗證 342
12.6授權Web請求和服務方法調用 343
12.6.1授權Web請求 343
12.6.2授權是如何工作的 345
12.6.3基於表達式的授權 347
12.6.4使用JSP安全標記 348
12.6.5授權服務方法 349
12.7小結 353
12.8習題 354
12.9本章主要知識點 354
第13章Spring4.0 357
13.1跟上最新技術:Java8和JavaEE7支持 357
13.2使用條件依賴項配置注入 362
13.3對自動配置集合中的元素進行排序 365
13.4重複的註解 367
13.5引入新的註解 369
13.6小結 370
13.7習題 370
13.8本章主要知識點 370
附錄A參考答案 371