精通spring 4.x企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)是一本Spring技術(shù)開(kāi)發(fā)實(shí)戰(zhàn)手冊(cè),由Spring專家陳雄華編著。本書(shū)內(nèi)容豐富,深入淺出,作者對(duì)Spring的源碼進(jìn)行了徹底分析,深刻揭示了Spring框架的技術(shù)內(nèi)幕,讓讀者知其然,更知其所以然。Spring中的許多設(shè)計(jì)經(jīng)驗(yàn)、技巧、模式具有很高的借鑒性,在透徹學(xué)習(xí)Spring體系結(jié)構(gòu)的同時(shí),讀者可以直接將這些方法借用到具體的應(yīng)用開(kāi)發(fā)中。
精通spring 4.x企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)不但將全書(shū)內(nèi)容同步更新到Spring 4.0,還對(duì)全書(shū)結(jié)構(gòu)進(jìn)行了多方面的優(yōu)化和調(diào)整。移除了兩個(gè)章節(jié),分別是“JavaMail發(fā)送郵件”(考慮到比較簡(jiǎn)單)及“在Spring中開(kāi)發(fā)Web Service”(考慮到Spring MVC開(kāi)發(fā)REST WebService再合適不過(guò)了);新增了3個(gè)全新的章節(jié),分別是“Spring Boot”、“Spring SpEL”及“Spring Cache”,歡迎免費(fèi)下載。
內(nèi)容介紹
Spring 4.0是Spring在積蓄4年后,隆重推出的一個(gè)重大升級(jí)版本,進(jìn)一步加強(qiáng)了Spring作為Java領(lǐng)域開(kāi)源平臺(tái)的翹楚地位。Spring 4.0引入了眾多Java開(kāi)發(fā)者翹首以盼的基于Groovy Bean的配置、HTML 5/WebSocket支持等新功能,全面支持Java 8.0,最低要求是Java 6.0。這些新功能實(shí)用性強(qiáng)、易用性高,可大幅降低Java應(yīng)用,特別是Java Web應(yīng)用開(kāi)發(fā)的難度,同時(shí)有效提升應(yīng)用開(kāi)發(fā)的優(yōu)雅性。
《精通spring 4.x企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)》是在精通Spring 3.x――企業(yè)應(yīng)用開(kāi)發(fā)詳解的基礎(chǔ)上,歷時(shí)一年的重大調(diào)整改版而成的,延續(xù)了上一版本“追求深度,注重原理,不停留在技術(shù)表面”的寫(xiě)作風(fēng)格,力求使讀者在熟練使用Spring的各項(xiàng)功能的同時(shí)透徹理解Spring的內(nèi)部實(shí)現(xiàn),真正做到知其然并知其所以然。此外,本書(shū)重點(diǎn)突出了“實(shí)戰(zhàn)性”的主題,力求使全書(shū)內(nèi)容體現(xiàn)“從實(shí)際項(xiàng)目中來(lái),到實(shí)際項(xiàng)目中去”的寫(xiě)作原則。
本書(shū)結(jié)構(gòu)
精通spring 4.x企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)分為5篇。第1篇為基礎(chǔ)篇,包括第1~3章,講解Spring概述性知識(shí),以便讀者快速建立對(duì)Spring的整體認(rèn)識(shí),能夠使用Spring快速開(kāi)發(fā)一個(gè)簡(jiǎn)單的項(xiàng)目,而更多深入的知識(shí)則在后續(xù)篇章中展開(kāi)。第2篇為核心篇,包括第4~9章,講解Spring的IoC、AOP及SpEL的知識(shí),這些知識(shí)是Spring的核心,也是Spring所有衍生服務(wù)及功能的基石。第3篇為數(shù)據(jù)篇,包括第10~14章,講解Spring的各種數(shù)據(jù)訪問(wèn)技術(shù)及事務(wù)管理的內(nèi)容,對(duì)事務(wù)管理的實(shí)現(xiàn)機(jī)制和各種疑難問(wèn)題進(jìn)行剖析。第4篇為應(yīng)用篇,包括第15~18章,講解數(shù)據(jù)緩存、任務(wù)調(diào)度、Web開(kāi)發(fā)的內(nèi)容,對(duì)于企業(yè)應(yīng)用開(kāi)發(fā)來(lái)說(shuō),數(shù)據(jù)緩存及任務(wù)調(diào)度是兩個(gè)無(wú)法回避的問(wèn)題,需要重點(diǎn)學(xué)習(xí)和掌握;此外,本篇還精心設(shè)計(jì)了一個(gè)實(shí)戰(zhàn)案例,包含需求分析、數(shù)據(jù)庫(kù)設(shè)計(jì)、項(xiàng)目開(kāi)發(fā)、代碼測(cè)試、應(yīng)用部署的整體過(guò)程,讓讀者在項(xiàng)目的實(shí)戰(zhàn)中整體串接Spring的知識(shí)點(diǎn)。第5篇為提高篇,包括第19章和第20章,講解Spring OXM及單元測(cè)試的內(nèi)容
第1章:對(duì)Spring框架進(jìn)行了整體性的概述,可使讀者快速建立起對(duì)Spring整體性的認(rèn)識(shí)。
第2章:通過(guò)一個(gè)簡(jiǎn)單的例子展現(xiàn)開(kāi)發(fā)Spring Web應(yīng)用的整體過(guò)程,通過(guò)這個(gè)實(shí)例,讀者可以快速跨入Spring Web應(yīng)用的世界。
第3章:Spring Boot的設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的搭建和開(kāi)發(fā)過(guò)程,本章通過(guò)實(shí)例向讀者講述了Spring Boot的使用技巧。
第4章:講解了Spring IoC容器的知識(shí),通過(guò)具體的實(shí)例詳細(xì)地講解了IoC概念;同時(shí),對(duì)Spring框架的三個(gè)最重要的框架級(jí)接口進(jìn)行了剖析,并對(duì)Bean的生命周期進(jìn)行了講解。
第5章:講解了如何在Spring配置文件中使用各種配置方式配置Bean的內(nèi)容,并對(duì)各個(gè)配置項(xiàng)的意義進(jìn)行了深入說(shuō)明。
第6章:對(duì)Spring容器進(jìn)行了解構(gòu),從內(nèi)部探究Spring容器的體系結(jié)構(gòu)和運(yùn)行流程。此外,還對(duì)Spring容器一些高級(jí)主題進(jìn)行了深入闡述。
第7章:從Spring AOP的底層實(shí)現(xiàn)技術(shù)入手,一步步深入到Spring AOP的內(nèi)核中,分析它的底層結(jié)構(gòu)和具體實(shí)現(xiàn)。
第8章:對(duì)如何使用基于AspectJ配置AOP的知識(shí)進(jìn)行了深入分析,包括使用XML Schema配置文件、使用注解進(jìn)行配置等內(nèi)容。
第9章:SpEL不僅僅是一個(gè)動(dòng)態(tài)語(yǔ)言,而且Spring容器的很多配置都直接依賴于SpEL工作,因此掌握SpEL是掌握Spring配置的必修課程。第10章:介紹了Spring所提供的DAO封裝層,包括Spring DAO的異常體系、數(shù)據(jù)訪問(wèn)模板等內(nèi)容。
第11章:聲明式事務(wù)配置是Spring的一項(xiàng)重要功能,本章介紹了Spring事務(wù)管理的工作機(jī)制,以及通過(guò)XML、注解等方式進(jìn)行事務(wù)管理配置等內(nèi)容。
第12章:對(duì)實(shí)際應(yīng)用中Spring事務(wù)管理的各種疑難問(wèn)題進(jìn)行了透徹剖析,讓讀者對(duì)Spring事務(wù)管理不再有云遮霧罩的感覺(jué)。
第13章:講解了如何使用Spring JDBC進(jìn)行數(shù)據(jù)訪問(wèn)操作,還重點(diǎn)講述了LOB字段處理、主鍵的產(chǎn)生和獲取等難點(diǎn)知識(shí)。
第14章:講解了如何在Spring中集成Hibernate、MyBatis等數(shù)據(jù)訪問(wèn)框架,同時(shí),讀者還將學(xué)到ORM框架的混用和DAO層設(shè)計(jì)的知識(shí)。
......章節(jié)目錄
第1篇 基礎(chǔ)篇 第1章 Spring概述 2 1.1 認(rèn)識(shí)Spring 2 1.2 關(guān)于SpringSource 4 1.3 Spring帶給我們什么 5 1.4 Spring體系結(jié)構(gòu) 6 1.5 Spring對(duì)Java版本的要求 8 1.6 Spring 4.0新特性 8 1.6.1 全面支持Java 8.0 9 1.6.2 核心容器的增強(qiáng) 11 1.6.3 支持用Groovy定義Bean 12 1.6.4 Web的增強(qiáng) 12 1.6.5 支持WebSocket 12 1.6.6 測(cè)試的增強(qiáng) 13 1.6.7 其他 13 1.7 Spring子項(xiàng)目 13 1.8 如何獲取Spring 15 1.9 小結(jié) 16 第2章 快速入門(mén) 17 2.1 實(shí)例概述 17 2.1.1 比Hello World更適用的實(shí)例 18 2.1.2 實(shí)例功能簡(jiǎn)介 18 2.2 環(huán)境準(zhǔn)備 20 2.2.1 構(gòu)建工具M(jìn)aven 20 2.2.2 創(chuàng)建庫(kù)表 22 2.2.3 建立工程 23 2.2.4 類包及Spring配置文件規(guī)劃 28 2.3 持久層 29 2.3.1 建立領(lǐng)域?qū)ο?29 2.3.2 UserDao 30 2.3.3 LoginLogDao 33 2.3.4 在Spring中裝配DAO 34 2.4 業(yè)務(wù)層 35 2.4.1 UserService 35 2.4.2 在Spring中裝配Service 37 2.4.3 單元測(cè)試 38 2.5 展現(xiàn)層 40 2.5.1 配置Spring MVC框架 40 2.5.2 處理登錄請(qǐng)求 42 2.5.3 JSP視圖頁(yè)面 44 2.6 運(yùn)行Web應(yīng)用 46 2.7 小結(jié) 48 第3章 Spring Boot 49 3.1 Spring Boot概覽 49 3.1.1 Spring Boot發(fā)展背景 50 3.1.2 Spring Boot特點(diǎn) 50 3.1.3 Spring Boot啟動(dòng)器 50 3.2 快速入門(mén) 52 3.3 安裝配置 54 3.3.1 基于Maven環(huán)境配置 54 3.3.2 基于Gradle環(huán)境配置 56 3.3.3 基于Spring Boot CLI環(huán)境 配置 57 3.3.4 代碼包結(jié)構(gòu)規(guī)劃 58 3.4 持久層 59 3.4.1 初始化配置 59 3.4.2 UserDao 61 3.5 業(yè)務(wù)層 62 3.6 展現(xiàn)層 64 3.6.1 配置pom.xml依賴 64 3.6.2 配置Spring MVC框架 65 3.6.3 處理登錄請(qǐng)求 65 3.7 運(yùn)維支持 67 3.8 小結(jié) 70 ? 第2篇 核心篇 第4章 IoC容器 72 4.1 IoC概述 72 4.1.1 通過(guò)實(shí)例理解IoC的概念 73 4.1.2 IoC的類型 75 4.1.3 通過(guò)容器完成依賴關(guān)系的 注入 77 4.2 相關(guān)Java基礎(chǔ)知識(shí) 78 4.2.1 簡(jiǎn)單實(shí)例 78 4.2.2 類裝載器ClassLoader 80 4.2.3 Java反射機(jī)制 83 4.3 資源訪問(wèn)利器 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 小結(jié) 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 裝配一個(gè)Bean 120 5.2.2 Bean的命名 120 5.3 依賴注入 121 5.3.1 屬性注入 121 5.3.2 構(gòu)造函數(shù)注入 124 5.3.3 工廠方法注入 128 5.3.4 選擇注入方式的考量 130 5.4 注入?yún)?shù)詳解 130 5.4.1 字面值 130 5.4.2 引用其他Bean 131 5.4.3 內(nèi)部Bean 133 5.4.4 null值 133 5.4.5 級(jí)聯(lián)屬性 134 5.4.6 集合類型屬性 134 5.4.7 簡(jiǎn)化配置方式 138 5.4.8 自動(dòng)裝配 141 5.5 方法注入 142 5.5.1 lookup方法注入 142 5.5.2 方法替換 143 5.6 <bean>之間的關(guān)系 144 5.6.1 繼承 144 5.6.2 依賴 145 5.6.3 引用 146 5.7 整合多個(gè)配置文件 147 5.8 Bean作用域 148 5.8.1 singleton作用域 148 5.8.2 prototype作用域 149 5.8.3 與Web應(yīng)用環(huán)境相關(guān)的Bean 作用域 150 5.8.4 作用域依賴問(wèn)題 152 5.9 FactoryBean 153 5.10 基于注解的配置 155 5.10.1 使用注解定義Bean 155 5.10.2 掃描注解定義的Bean 156 5.10.3 自動(dòng)裝配Bean 157 5.10.4 Bean作用范圍及生命過(guò)程 方法 162 5.11 基于Java類的配置 164 5.11.1 使用Java類提供Bean定義 信息 164 5.11.2 使用基于Java類的配置信息 啟動(dòng)Spring容器 167 5.12 基于Groovy DSL的配置 169 5.12.1 使用Groovy DSL提供Bean 定義信息 169 5.12.2 使用GenericGroovyApplication Context啟動(dòng)Spring容器 171 5.13 通過(guò)編碼方式動(dòng)態(tài)添加Bean 172 5.13.1 通過(guò)DefaultListableBean Factory 172 5.13.2 擴(kuò)展自定義標(biāo)簽 173 5.14 不同配置方式比較 175 5.15 小結(jié) 177 第6章 Spring容器高級(jí)主題 178 6.1 Spring容器技術(shù)內(nèi)幕 178 6.1.1 內(nèi)部工作機(jī)制 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默認(rèn)屬性編輯器 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 國(guó)際化信息 201 6.5.1 基礎(chǔ)知識(shí) 201 6.5.2 MessageSource 206 6.5.3 容器級(jí)的國(guó)際化信息資源 209 6.6 容器事件 210 6.6.1 Spring事件類結(jié)構(gòu) 211 6.6.2 解構(gòu)Spring事件體系的具體 實(shí)現(xiàn) 213 6.6.3 一個(gè)實(shí)例 214 6.7 小結(jié) 215 第7章 Spring AOP基礎(chǔ) 216 7.1 AOP概述 216 7.1.1 AOP到底是什么 217 7.1.2 AOP術(shù)語(yǔ) 219 7.1.3 AOP的實(shí)現(xiàn)者 221 7.2 基礎(chǔ)知識(shí) 222 7.2.1 帶有橫切邏輯的實(shí)例 222 7.2.2 JDK動(dòng)態(tài)代理 224 7.2.3 CGLib動(dòng)態(tài)代理 228 7.2.4 AOP聯(lián)盟 229 7.2.5 代理知識(shí)小結(jié) 230 7.3 創(chuàng)建增強(qiáng)類 230 7.3.1 增強(qiáng)類型 230 7.3.2 前置增強(qiáng) 231 7.3.3 后置增強(qiáng) 235 7.3.4 環(huán)繞增強(qiáng) 236 7.3.5 異常拋出增強(qiáng) 237 7.3.6 引介增強(qiáng) 239 7.4 創(chuàng)建切面 243 7.4.1 切點(diǎn)類型 243 7.4.2 切面類型 244 7.4.3 靜態(tài)普通方法名匹配切面 246 7.4.4 靜態(tài)正則表達(dá)式方法匹配 切面 248 7.4.5 動(dòng)態(tài)切面 251 7.4.6 流程切面 254 7.4.7 復(fù)合切點(diǎn)切面 256 7.4.8 引介切面 258 7.5 自動(dòng)創(chuàng)建代理 259 7.5.1 實(shí)現(xiàn)類介紹 259 7.5.2 BeanNameAutoProxyCreator 260 7.5.3 DefaultAdvisorAutoProxy Creator 261 7.5.4 AOP無(wú)法增強(qiáng)疑難問(wèn)題 剖析 262 7.6 小結(jié) 267 第8章 基于@AspectJ和Schema的 AOP 269 8.1 Spring對(duì)AOP的支持 269 8.2 Java 5.0注解知識(shí)快速進(jìn)階 270 8.2.1 了解注解 270 8.2.2 一個(gè)簡(jiǎn)單的注解類 271 8.2.3 使用注解 272 8.2.4 訪問(wèn)注解 273 8.3 著手使用@AspectJ 274 8.3.1 使用前的準(zhǔn)備 275 8.3.2 一個(gè)簡(jiǎn)單的例子 275 8.3.3 如何通過(guò)配置使用@AspectJ 切面 277 8.4 @AspectJ語(yǔ)法基礎(chǔ) 278 8.4.1 切點(diǎn)表達(dá)式函數(shù) 278 8.4.2 在函數(shù)入?yún)⒅惺褂猛ㄅ浞?279 8.4.3 邏輯運(yùn)算符 280 8.4.4 不同增強(qiáng)類型 281 8.4.5 引介增強(qiáng)用法 282 8.5 切點(diǎn)函數(shù)詳解 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進(jìn)階 291 8.6.1 切點(diǎn)復(fù)合運(yùn)算 292 8.6.2 命名切點(diǎn) 292 8.6.3 增強(qiáng)織入的順序 294 8.6.4 訪問(wèn)連接點(diǎn)信息 294 8.6.5 綁定連接點(diǎn)方法入?yún)?295 8.6.6 綁定代理對(duì)象 297 8.6.7 綁定類注解對(duì)象 298 8.6.8 綁定返回值 299 8.6.9 綁定拋出的異常 299 8.7 基于Schema配置切面 300 8.7.1 一個(gè)簡(jiǎn)單切面的配置 300 8.7.2 配置命名切點(diǎn) 302 8.7.3 各種增強(qiáng)類型的配置 303 8.7.4 綁定連接點(diǎn)信息 305 8.7.5 Advisor配置 306 8.8 混合切面類型 307 8.8.1 混合使用各種切面類型 308 8.8.2 各種切面類型總結(jié) 308 8.9 其他 309 8.9.1 JVM Class文件字節(jié)碼轉(zhuǎn)換 基礎(chǔ)知識(shí) 309 8.9.2 使用LTW織入切面 311 8.10 小結(jié) 314 第9章 Spring SpEL 316 9.1 JVM動(dòng)態(tài)語(yǔ)言 316 9.2 SpEL表達(dá)式概述 318 9.3 SpEL核心接口 319 9.3.1 EvaluationContext接口 320 9.3.2 SpEL編譯器 321 9.4 SpEL基礎(chǔ)表達(dá)式 323 9.4.1 文本字符解析 323 9.4.2 對(duì)象屬性解析 323 9.4.3 數(shù)組、集合類型解析 324 9.4.4 方法解析 326 9.4.5 操作符解析 327 9.4.6 安全導(dǎo)航操作符 329 9.4.7 三元操作符 330 9.4.8 Elvis操作符 331 9.4.9 賦值、類型、構(gòu)造器、變量 332 9.4.10 集合過(guò)濾 335 9.4.11 集合轉(zhuǎn)換 335 9.5 在Spring中使用SpEL 336 9.5.1 基于XML的配置 336 9.5.2 基于注解的配置 337 9.6 小結(jié) 338 ? 第3篇 數(shù)據(jù)篇 第10章 Spring對(duì)DAO的支持 340 10.1 Spring的DAO理念 340 10.2 統(tǒng)一的異常體系 341 10.2.1 Spring的DAO異常體系 341 10.2.2 JDBC的異常轉(zhuǎn)換器 343 10.2.3 其他持久化技術(shù)的異常 轉(zhuǎn)換器 344 10.3 統(tǒng)一數(shù)據(jù)訪問(wèn)模板 344 10.3.1 使用模板和回調(diào)機(jī)制 345 10.3.2 Spring為不同持久化技術(shù) 所提供的模板類 347 10.4 數(shù)據(jù)源 348 10.4.1 配置一個(gè)數(shù)據(jù)源 348 10.4.2 獲取JNDI數(shù)據(jù)源 352 10.4.3 Spring的數(shù)據(jù)源實(shí)現(xiàn)類 353 10.5 小結(jié) 353 第11章 Spring的事務(wù)管理 355 11.1 數(shù)據(jù)庫(kù)事務(wù)基礎(chǔ)知識(shí) 355 11.1.1 何為數(shù)據(jù)庫(kù)事務(wù) 356 11.1.2 數(shù)據(jù)并發(fā)的問(wèn)題 357 11.1.3 數(shù)據(jù)庫(kù)鎖機(jī)制 359 11.1.4 事務(wù)隔離級(jí)別 360 11.1.5 JDBC對(duì)事務(wù)的支持 361 11.2 ThreadLocal基礎(chǔ)知識(shí) 362 11.2.1 ThreadLocal是什么 363 11.2.2 ThreadLocal的接口方法 363 11.2.3 一個(gè)TheadLocal實(shí)例 364 11.2.4 與Thread同步機(jī)制的比較 366 11.2.5 Spring使用ThreadLocal解決 線程安全問(wèn)題 366 11.3 Spring對(duì)事務(wù)管理的支持 368 11.3.1 事務(wù)管理關(guān)鍵抽象 369 11.3.2 Spring的事務(wù)管理器實(shí)現(xiàn)類 371 11.3.3 事務(wù)同步管理器 374 11.3.4 事務(wù)傳播行為 375 11.4 編程式的事務(wù)管理 376 11.5 使用XML配置聲明式事務(wù) 377 11.5.1 一個(gè)將被實(shí)施事務(wù)增強(qiáng)的 服務(wù)接口 379 11.5.2 使用原始的TransactionProxy FactoryBean 379 11.5.3 基于aop/tx命名空間的配置 382 11.6 使用注解配置聲明式事務(wù) 385 11.6.1 使用@Transactional注解 385 11.6.2 通過(guò)AspectJ LTW引入事務(wù) 切面 389 11.7 集成特定的應(yīng)用服務(wù)器 390 11.7.1 BEA WebLogic 390 11.7.2 WebSphere 390 11.8 小結(jié) 390 第12章 Spring的事務(wù)管理難點(diǎn)剖析 392 12.1 DAO和事務(wù)管理的牽絆 393 12.1.1 JDBC訪問(wèn)數(shù)據(jù)庫(kù) 393 12.1.2 Hibernate訪問(wèn)數(shù)據(jù)庫(kù) 395 12.2 應(yīng)用分層的迷惑 398 12.3 事務(wù)方法嵌套調(diào)用的迷茫 401 12.3.1 Spring事務(wù)傳播機(jī)制回顧 401 12.3.2 相互嵌套的服務(wù)方法 402 12.4 多線程的困惑 405 12.4.1 Spring通過(guò)單實(shí)例化Bean 簡(jiǎn)化多線程問(wèn)題 405 12.4.2 啟動(dòng)獨(dú)立線程調(diào)用事務(wù) 方法 405 12.5 聯(lián)合軍種作戰(zhàn)的混亂 408 12.5.1 Spring事務(wù)管理器的應(yīng)對(duì) 408 12.5.2 Hibernate+Spring JDBC 混合框架的事務(wù)管理 408 12.6 特殊方法成漏網(wǎng)之魚(yú) 412 12.6.1 哪些方法不能實(shí)施Spring AOP事務(wù) 412 12.6.2 事務(wù)增強(qiáng)遺漏實(shí)例 413 12.7 數(shù)據(jù)連接泄露 416 12.7.1 底層連接資源的訪問(wèn)問(wèn)題 416 12.7.2 Spring JDBC數(shù)據(jù)連接泄露 417 12.7.3 事務(wù)環(huán)境下通過(guò)DataSource Utils獲取數(shù)據(jù)連接 420 12.7.4 無(wú)事務(wù)環(huán)境下通過(guò)DataSource Utils獲取數(shù)據(jù)連接 422 12.7.5 JdbcTemplate如何做到對(duì)連接 泄露的免疫 424 12.7.6 使用TransactionAwareData SourceProxy 425 12.7.7 其他數(shù)據(jù)訪問(wèn)技術(shù)的等價(jià)類 426 12.8 小結(jié) 426 第13章 使用Spring JDBC訪問(wèn) 數(shù)據(jù)庫(kù) 428 13.1 使用Spring JDBC 428 13.1.1 JdbcTemplate小試牛刀 429 13.1.2 在DAO中使用Jdbc Template 429 13.2 基本的數(shù)據(jù)操作 431 13.2.1 更改數(shù)據(jù) 431 13.2.2 返回?cái)?shù)據(jù)庫(kù)的表自增主鍵值 434 13.2.3 批量更改數(shù)據(jù) 436 13.2.4 查詢數(shù)據(jù) 437 13.2.5 查詢單值數(shù)據(jù) 440 13.2.6 調(diào)用存儲(chǔ)過(guò)程 442 13.3 BLOB/CLOB類型數(shù)據(jù)的操作 444 13.3.1 如何獲取本地?cái)?shù)據(jù)連接 445 13.3.2 相關(guān)的操作接口 446 13.3.3 插入LOB類型的數(shù)據(jù) 448 13.3.4 以塊數(shù)據(jù)方式讀取LOB 數(shù)據(jù) 450 13.3.5 以流數(shù)據(jù)方式讀取LOB 數(shù)據(jù) 451 13.4 自增鍵和行集 452 13.4.1 自增鍵的使用 452 13.4.2 如何規(guī)劃主鍵方案 454 13.4.3 以行集返回?cái)?shù)據(jù) 456 13.5 NamedParameterJdbcTemplate 模板類 456 13.6 小結(jié) 459 第14章 整合其他ORM框架 460 14.1 Spring整合ORM技術(shù) 460 14.2 在Spring中使用Hibernate 462 14.2.1 配置SessionFactory 462 14.2.2 使用HibernateTemplate 465 14.2.3 處理LOB類型的數(shù)據(jù) 469 14.2.4 添加Hibernate事件監(jiān)聽(tīng)器 470 14.2.5 使用原生的Hibernate API 471 14.2.6 使用注解配置 472 14.2.7 事務(wù)處理 474 14.2.8 延遲加載問(wèn)題 475 14.3 在Spring中使用MyBatis 476 14.3.1 配置SqlMapClient 476 14.3.2 在Spring中配置MyBatis 478 14.3.3 編寫(xiě)MyBatis的DAO 479 14.4 DAO層設(shè)計(jì) 482 14.4.1 DAO基類設(shè)計(jì) 482 14.4.2 查詢接口方法設(shè)計(jì) 484 14.4.3 分頁(yè)查詢接口設(shè)計(jì) 486 14.5 小結(jié) 487 ? 第4篇 應(yīng)用篇 第15章 Spring Cache 490 15.1 緩存概述 490 15.1.1 緩存的概念 490 15.1.2 使用Spring Cache 493 15.2 掌握Spring Cache抽象 498 15.2.1 緩存注解 498 15.2.2 緩存管理器 504 15.2.3 使用SpEL表達(dá)式 506 15.2.4 基于XML的Cache聲明 506 15.2.5 以編程方式初始化緩存 507 15.2.6 自定義緩存注解 509 15.3 配置Cache存儲(chǔ) 509 15.3.1 EhCache 510 15.3.2 Guava 510 15.3.3 HazelCast 511 15.3.4 GemFire 511 15.3.5 JSR-107 Cache 511 15.4 實(shí)戰(zhàn)經(jīng)驗(yàn) 513 15.5 小結(jié) 514 第16章 任務(wù)調(diào)度和異步執(zhí)行器 516 16.1 任務(wù)調(diào)度概述 516 16.2 Quartz快速進(jìn)階 517 16.2.1 Quartz基礎(chǔ)結(jié)構(gòu) 518 16.2.2 使用SimpleTrigger 520 16.2.3 使用CronTrigger 522 16.2.4 使用Calendar 526 16.2.5 任務(wù)調(diào)度信息存儲(chǔ) 527 16.3 在Spring中使用Quartz 530 16.3.1 創(chuàng)建JobDetail 530 16.3.2 創(chuàng)建Trigger 533 16.3.3 創(chuàng)建Scheduler 534 16.4 在Spring中使用JDK Timer 536 16.4.1 Timer和TimerTask 536 16.4.2 Spring對(duì)Java Timer的支持 539 16.5 Spring對(duì)Java 5.0 Executor的 支持 540 16.5.1 了解Java 5.0的Executor 541 16.5.2 Spring對(duì)Executor所提供的 抽象 543 16.6 實(shí)際應(yīng)用中的任務(wù)調(diào)度 544 16.6.1 如何產(chǎn)生任務(wù) 545 16.6.2 任務(wù)調(diào)度對(duì)應(yīng)用程序集群的 影響 547 16.6.3 任務(wù)調(diào)度云 547 16.6.4 Web應(yīng)用程序中調(diào)度器的 啟動(dòng)和關(guān)閉問(wèn)題 549 16.7 小結(jié) 552 第17章 Spring MVC 553 17.1 Spring MVC體系概述 554 17.1.1 體系結(jié)構(gòu) 554 17.1.2 配置DispatcherServlet 555 17.1.3 一個(gè)簡(jiǎn)單的實(shí)例 560 17.2 注解驅(qū)動(dòng)的控制器 565 17.2.1 使用@RequestMapping 映射請(qǐng)求 565 17.2.2 請(qǐng)求處理方法簽名 569 17.2.3 使用矩陣變量綁定參數(shù) 570 17.2.4 請(qǐng)求處理方法簽名詳細(xì)說(shuō)明 571 17.2.5 使用HttpMessageConverter <T> 575 17.2.6 使用@RestController和AsyncRestTemplate 584 17.2.7 處理模型數(shù)據(jù) 586 17.3 處理方法的數(shù)據(jù)綁定 591 17.3.1 數(shù)據(jù)綁定流程剖析 592 17.3.2 數(shù)據(jù)轉(zhuǎn)換 592 17.3.3 數(shù)據(jù)格式化 598 17.3.4 數(shù)據(jù)校驗(yàn) 602 17.4 視圖和視圖解析器 611 17.4.1 認(rèn)識(shí)視圖 611 17.4.2 認(rèn)識(shí)視圖解析器 612 17.4.3 JSP和JSTL 613 17.4.4 模板視圖 618 17.4.5 Excel 621 17.4.6 PDF 623 17.4.7 輸出XML 625 17.4.8 輸出JSON 626 17.4.9 使用XmlViewResolver 626 17.4.10 使用ResourceBundleView Resolver 627 17.4.11 混合使用多種視圖技術(shù) 628 17.5 本地化解析 630 17.5.1 本地化的概念 630 17.5.2 使用CookieLocaleResolver 631 17.5.3 使用SessionLocaleResolver 632 17.5.4 使用LocaleChange Interceptor 632 17.6 文件上傳 633 17.6.1 配置MultipartResolver 633 17.6.2 編寫(xiě)控制器和文件上傳表單 頁(yè)面 633 17.7 WebSocket支持 634 17.7.1 使用WebSocket 634 17.7.2 WebSocket的限制 638 17.8 雜項(xiàng) 639 17.8.1 靜態(tài)資源處理 639 17.8.2 裝配攔截器 643 17.8.3 異常處理 644 17.8.4 RequestContextHolder的 使用 646 17.9 小結(jié) 646 第18章 實(shí)戰(zhàn)案例開(kāi)發(fā) 648 18.1 論壇案例概述 648 18.1.1 論壇整體功能結(jié)構(gòu) 648 18.1.2 論壇用例描述 649 18.1.3 主要功能流程描述 651 18.2 系統(tǒng)設(shè)計(jì) 655 18.2.1 技術(shù)框架選擇 655 18.2.2 采用Maven構(gòu)建項(xiàng)目 656 18.2.3 單元測(cè)試類包結(jié)構(gòu)規(guī)劃 657 18.2.4 系統(tǒng)架構(gòu)圖 658 18.2.5 PO類設(shè)計(jì) 658 18.2.6 持久層設(shè)計(jì) 659 18.2.7 服務(wù)層設(shè)計(jì) 660 18.2.8 Web層設(shè)計(jì) 661 18.2.9 數(shù)據(jù)庫(kù)設(shè)計(jì) 662 18.3 開(kāi)發(fā)前的準(zhǔn)備 663 18.4 持久層開(kāi)發(fā) 664 18.4.1 PO類 664 18.4.2 DAO基類 666 18.4.3 通過(guò)擴(kuò)展基類定義DAO類 670 18.4.4 DAO Bean的裝配 672 18.4.5 使用Hibernate二級(jí)緩存 673 18.5 對(duì)持久層進(jìn)行測(cè)試 675 18.5.1 配置Unitils測(cè)試環(huán)境 675 18.5.2 準(zhǔn)備測(cè)試數(shù)據(jù)庫(kù)及測(cè)試 數(shù)據(jù) 676 18.5.3 編寫(xiě)DAO測(cè)試基類 677 18.5.4 編寫(xiě)B(tài)oardDao測(cè)試用例 678 18.6 服務(wù)層開(kāi)發(fā) 680 18.6.1 UserService的開(kāi)發(fā) 680 18.6.2 ForumService的開(kāi)發(fā) 681 18.6.3 服務(wù)類Bean的裝配 683 18.7 對(duì)服務(wù)層進(jìn)行測(cè)試 684 18.7.1 編寫(xiě)Service測(cè)試基類 685 18.7.2 編寫(xiě)ForumService測(cè)試 用例 685 18.8 Web層開(kāi)發(fā) 687 18.8.1 BaseController的基類 687 18.8.2 用戶登錄和注銷(xiāo) 689 18.8.3 用戶注冊(cè) 691 18.8.4 論壇管理 692 18.8.5 論壇普通功能 694 18.8.6 分頁(yè)顯示論壇版塊的主題 帖子 696 18.8.7 web.xml配置 700 18.8.8 Spring MVC配置 702 18.9 對(duì)Web層進(jìn)行測(cè)試 703 18.9.1 編寫(xiě)Web測(cè)試基類 703 18.9.2 編寫(xiě)ForumManageController 測(cè)試用例 704 18.10 開(kāi)發(fā)環(huán)境部署 705 18.11 項(xiàng)目配置實(shí)戰(zhàn)經(jīng)驗(yàn) 708 18.11.1 “傳統(tǒng)的”Web項(xiàng)目屬性 文件 708 18.11.2 如何規(guī)劃便于部署的Web 項(xiàng)目屬性文件 709 18.11.3 數(shù)據(jù)源的配置 710 18.12 小結(jié) 712 ? 第5篇 提高篇 第19章 Spring OXM 714 19.1 認(rèn)識(shí)XML解析技術(shù) 714 19.1.1 什么是XML 714 19.1.2 XML的處理技術(shù) 715 19.2 XML處理利器:XStream 717 19.2.1 XStream概述 717 19.2.2 快速入門(mén) 718 19.2.3 使用XStream別名 720 19.2.4 XStream轉(zhuǎn)換器 721 19.2.5 XStream注解 723 19.2.6 流化對(duì)象 725 19.2.7 持久化API 726 19.2.8 額外功能:處理JSON 727 19.3 其他常見(jiàn)的O/X Mapping開(kāi)源 項(xiàng)目 729 19.3.1 JAXB 729 19.3.2 Castor 733 19.3.3 JiBX 738 19.3.4 總結(jié)比較 741 19.4 與Spring OXM整合 742 19.4.1 Spring OXM概述 742 19.4.2 整合OXM實(shí)現(xiàn)者 744 19.4.3 如何在Spring中進(jìn)行配置 744 19.4.4 Spring OXM簡(jiǎn)單實(shí)例 747 19.5 小結(jié) 749 第20章 實(shí)戰(zhàn)型單元測(cè)試 750 20.1 單元測(cè)試概述 751 20.1.1 為什么需要單元測(cè)試 751 20.1.2 單元測(cè)試之誤解 752 20.1.3 單元測(cè)試之困境 754 20.1.4 單元測(cè)試基本概念 755 20.2 TestNG快速進(jìn)階 757 20.2.1 TestNG概述 757 20.2.2 TestNG生命周期 758 20.2.3 使用TestNG 758 20.3 模擬利器Mockito 763 20.3.1 模擬測(cè)試概述 763 20.3.2 創(chuàng)建Mock對(duì)象 763 20.3.3 設(shè)定Mock對(duì)象的期望行為 及返回值 764 20.3.4 驗(yàn)證交互行為 766 20.4 測(cè)試整合之王Unitils 767 20.4.1 Unitils概述 767 20.4.2 集成Spring 770 20.4.3 集成Hibernate 773 20.4.4 集成DbUnit 774 20.4.5 自定義擴(kuò)展模塊 775 20.5 使用Unitils測(cè)試DAO層 776 20.5.1 數(shù)據(jù)庫(kù)測(cè)試的難點(diǎn) 776 20.5.2 擴(kuò)展DbUnit用Excel準(zhǔn)備 數(shù)據(jù) 776 20.5.3 測(cè)試實(shí)戰(zhàn) 779 20.6 使用Unitils測(cè)試Service層 789 20.7 測(cè)試Web層 794 20.7.1 對(duì)LoginController進(jìn)行單元 測(cè)試 794 20.7.2 使用Spring Servlet API模擬 對(duì)象 795 20.7.3 使用Spring RestTemplate 測(cè)試 797 20.8 小結(jié) 798
使用說(shuō)明
1、下載并解壓,得出pdf文件2、如果打不開(kāi)本文件,請(qǐng)務(wù)必下載pdf閱讀器
3、安裝后,在打開(kāi)解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
- 下載地址
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
有問(wèn)題? 點(diǎn)此報(bào)錯(cuò)
發(fā)表評(píng)論
0條評(píng)論軟件排行榜
熱門(mén)推薦
- 有柿電腦版 v11.5.684.06M / 簡(jiǎn)體中文
- 得間免費(fèi)小說(shuō)電腦版 v5.2.7.172.56M / 簡(jiǎn)體中文
- 網(wǎng)易新聞電腦版 v112.697.63M / 簡(jiǎn)體中文
- 開(kāi)源閱讀電腦版 v3.2517.96M / 簡(jiǎn)體中文
- 京東讀書(shū)電腦版 v1.13.4官方版1.98M / 簡(jiǎn)體中文
- cnki全球?qū)W術(shù)快報(bào)電腦版 v0.2.3495.79M / 簡(jiǎn)體中文
- 未公開(kāi)的Oracle數(shù)據(jù)庫(kù)秘密 迪貝斯pdf掃描版34.69M / 簡(jiǎn)體中文
- PHP語(yǔ)言精粹電子書(shū) pdf掃描版25.72M / 簡(jiǎn)體中文
- linux常用命令大全 chm版1.48M / 簡(jiǎn)體中文
- 本草綱目 5.34M / 簡(jiǎn)體中文