
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗證碼 ” ,獲取驗證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請在下載后24小時內(nèi)刪除。如果喜歡,請購買正版!
一.資料圖片
二.資料簡介
內(nèi)容簡介:
自 Spring 誕生以來,以 Spring 技術(shù)棧為核心的企業(yè)級應(yīng)用開發(fā)方式深入人心,已經(jīng)成為 Java EE 開發(fā)的最佳實(shí)踐。隨著 Spring 5 版本的發(fā)布,Spring 自身也發(fā)生了巨大的變革。本書力求全面介紹 Spring 框架,涵蓋了 Spring 核心、測試、數(shù)據(jù)訪問、Web 開發(fā)、響應(yīng)式編程、系統(tǒng)集成及微服務(wù)等方面在內(nèi)的共26 章的內(nèi)容,可以說是 Spring 技術(shù)的“百科全書”。
同時,本書基于 Spring 5 版本來編寫,除了涉及 Spring 5 版本的新特性外,還介紹了 REST 服務(wù)、響應(yīng)式 Web 開發(fā)、微服務(wù)設(shè)計、Spring Boot、Spring Cloud 等方面的前瞻技術(shù)。而且除了講解 Spring 的理論知識外,還在每個知識點(diǎn)上輔以大量的代碼案例,使理論可以聯(lián)系實(shí)際,具備更強(qiáng)的可操作性。
本書主要面向的是Java 開發(fā)者,以及對以Spring 為核心的Java EE 開發(fā)感興趣的計算機(jī)專業(yè)的學(xué)生、軟件開發(fā)人員和系統(tǒng)架構(gòu)師。
寫作背景:
Spring 自誕生以來,一直被廣大開發(fā)者作為 Java 企業(yè)級應(yīng)用開發(fā)的首選。無論是早年流行的 SSH 框架(Spring、Struts、Hibernate),還是近些年盛行的 SSM 組合(Spring、Spring MVC、MyBatis), 唯一不變的就是 Spring。伴隨互聯(lián)網(wǎng)十幾年的風(fēng)云變遷,Spring 也不斷地進(jìn)行著技術(shù)革命,向著云計算、平臺化方向發(fā)展。
Spring 至今仍然奉行著最初的宗旨——簡化企業(yè)級應(yīng)用的開發(fā)。特別是 Spring Boot、Spring Cloud 等項目的誕生,進(jìn)一步簡化了基于 Spring 的企業(yè)級、分布式系統(tǒng)的應(yīng)用開發(fā)方式。為此,筆者在2014 年以開源方式翻譯了《Spring Framework 4.x 參考文檔》,備受廣大開發(fā)者關(guān)注。在2017 年,筆者編寫了一系列關(guān)于 Spring 開發(fā)實(shí)戰(zhàn)的書籍及培訓(xùn)視頻教程,包括《Spring Boot 企業(yè)級應(yīng)用開發(fā)實(shí)戰(zhàn)》和《Spring Cloud 微服務(wù)架構(gòu)開發(fā)實(shí)戰(zhàn)》等(見https://waylau.com/books/) ,致力于讓廣大讀者能夠真正領(lǐng)略 Spring 所帶來的力量和樂趣。
目前,Spring 5 已經(jīng)發(fā)布,并帶來了大量的新特性。鑒于市面上關(guān)于 Spring 5 的介紹資料比較匱乏,故筆者撰寫本書以補(bǔ)空白,助力國內(nèi)開發(fā)者能夠享受到新技術(shù)所帶來的便利。
三.作者簡介
柳偉衛(wèi),網(wǎng)名“老衛(wèi)”(waylau),在 IT 公司擔(dān)任項目經(jīng)理、架構(gòu)師、高級技術(shù)顧問等職位,是 CSDN、 開源中國、云棲社區(qū)等技術(shù)社區(qū)專家,慕課網(wǎng)特邀講師。
具有多年軟件開發(fā)管理及系統(tǒng)架構(gòu)經(jīng)驗。負(fù)責(zé)過多個省、國家級大型分布式系統(tǒng)的設(shè)計與研發(fā),參與了多個大型項目的微服務(wù)架構(gòu)的技術(shù)改造,在實(shí)際工作中,積累了大量的微服務(wù)架構(gòu)經(jīng)驗。
業(yè)余時間創(chuàng)建了 waylau.com 網(wǎng)站,用于分享個人技術(shù)心得。喜歡開源,長期躍于各大開源社區(qū),為開源社區(qū)無私編著了《Spring Framework 4.x參考文檔》、《Netty 實(shí)戰(zhàn)(精髓)》、《REST 實(shí)戰(zhàn)》、《分布式 Java》、《Spring Boot 教程》、《Spring Security 教程》、《Thymeleaf 教程》等近30余本技術(shù)教程,廣受網(wǎng)友好評。并已經(jīng)出版了《分布式系統(tǒng)常用技術(shù)及案例分析》、《Spring Boot 企業(yè)級應(yīng)用開發(fā)實(shí)戰(zhàn)》、《Spring Cloud 微服務(wù)架構(gòu)開發(fā)實(shí)戰(zhàn)》、《Spring 5 開發(fā)大全》等專著(https://waylau.com/books/)。
四.資料目錄
目錄
第1章Spring 5 概述
1.1 Spring 與 Java EE
1.1.1Java 平臺發(fā)展簡史
1.1.2Java EE 現(xiàn)狀
重點(diǎn)1.1.3Spring 與 Java EE 的關(guān)系
1.2 Spring 簡史
1.2.1挑釁 EJB
1.2.2化繁為簡
難點(diǎn)1.2.3Spring 設(shè)計哲學(xué)
重點(diǎn)1.2.4面向未來的 Spring
1.3 Spring 5 的新特性
1.3.1基準(zhǔn)升級
1.3.2兼容 JDK 9
1.3.3響應(yīng)式編程模型
1.3.4函數(shù)式編程
1.3.5多語言的支持
1.3.6支持 HTTP/2
1.3.7清理了代碼
1.3.8更強(qiáng)的測試套件
1.4 快速開啟第一個 Spring 應(yīng)用
實(shí)戰(zhàn)1.4.1Hello World項目概述
重點(diǎn)1.4.2使用 Maven
重點(diǎn)1.4.3使用 Gradle
重點(diǎn)1.4.4創(chuàng)建服務(wù)類
1.4.5創(chuàng)建打印器
1.4.6創(chuàng)建應(yīng)用主類
1.4.7運(yùn)行
1.5 Gradle 與 Maven 的抉擇
1.5.1Maven 概述
1.5.2Gradle 概述
1.5.3Gradle 與 Maven 對比
第2章Spring 框架核心概念
2.1 Spring 框架總覽
重點(diǎn)2.1.1Spring 的狹義與廣義
2.1.2Spring 框架概述
難點(diǎn)2.1.3Spring 框架常用模塊
2.1.4Spring 設(shè)計模式
2.2 IoC 容器
難點(diǎn)2.2.1依賴注入與控制反轉(zhuǎn)
難點(diǎn)2.2.2IoC 容器和 bean
重點(diǎn)2.2.3配置元數(shù)據(jù)
重點(diǎn)2.2.4實(shí)例化容器
2.2.5使用容器
2.2.6bean 的命名
2.2.7實(shí)例化 bean 的方式
重點(diǎn)2.2.8注入方式
重點(diǎn)2.2.9實(shí)戰(zhàn):依賴注入的例子
2.2.10依賴注入的詳細(xì)配置
難點(diǎn)2.2.11使用 depends-on
2.2.12延遲加載 bean
重點(diǎn)2.2.13自動裝配
2.2.14方法注入
難點(diǎn)2.2.15bean scope
重點(diǎn)2.2.16singleton bean 與 prototype bean
2.2.17request、session、application 及 websocket scope
2.2.18自定義 scope
2.2.19實(shí)戰(zhàn):自定義 scope 的例子
2.2.20自定義 bean 的生命周期
難點(diǎn)
2.2.21bean 定義繼承
難點(diǎn)
2.2.22容器擴(kuò)展點(diǎn)
2.2.23實(shí)戰(zhàn):容器擴(kuò)展的例子
重點(diǎn)2.2.24基于注解的配置
2.2.25基于注解的配置與基于 XML 的配置
重點(diǎn)2.2.26類路徑掃描及組件管理
2.2.27JSR-330 規(guī)范注解
重點(diǎn)2.2.28基于 Java 的容器配置
重點(diǎn)2.2.29環(huán)境抽象
2.2.30國際化
2.2.31事件與監(jiān)聽器
2.3 AOP 編程
2.3.1AOP 概述
重點(diǎn)2.3.2AOP 核心概念
2.3.3Spring AOP
難點(diǎn)2.3.4AOP 代理
2.3.5使用 @AspectJ
2.3.6實(shí)戰(zhàn):使用 @AspectJ 的例子
重點(diǎn)2.3.7基于 XML 的 AOP
2.3.8實(shí)戰(zhàn):基于 XML 的 AOP 例子
2.3.9如何選擇 AOP 類型
難點(diǎn)2.3.10理解代理機(jī)制
2.3.11創(chuàng)建 @AspectJ 代理
2.4 資源處理
重點(diǎn)2.4.1常用資源接口
2.4.2內(nèi)置資源接口實(shí)現(xiàn)
2.4.3ResourceLoader
重點(diǎn)2.4.4ResourceLoaderAware
2.4.5資源作為依賴
2.5 Bean 驗證
重點(diǎn)2.5.1Bean 驗證概述
2.5.2Validator 接口
2.6 表達(dá)式語言 SpEL
2.6.1SpEL 概述
難點(diǎn)2.6.2表達(dá)式接口
2.6.3對于 bean 定義的支持
重點(diǎn)2.6.4常用表達(dá)式
2.6.5實(shí)戰(zhàn):使用 SpEL 的例子
2.7 數(shù)據(jù)緩沖器和編解碼器
2.7.1數(shù)據(jù)緩沖器
2.7.2編解碼器
2.8 空安全
2.8.1空安全概述
2.8.2如何使用
第3章測試
3.1 測試概述
3.1.1傳統(tǒng)的測試所面臨的問題
3.1.2如何破解測試面臨的問題
3.2 測試的類型和范圍
3.2.1測試類型
3.2.2測試范圍
3.2.3測試比例
3.3 如何進(jìn)行微服務(wù)的測試
3.3.1微服務(wù)的單元測試
3.3.2mock 與 stub 的區(qū)別
3.3.3微服務(wù)的集成測試
3.3.4微服務(wù)的系統(tǒng)測試
第4章單元測試
4.1 Mock 對象
重點(diǎn)4.1.1Environment
4.1.2JNDI
重點(diǎn)4.1.3Servlet API
新功能4.1.4Spring Web Reactive
4.2 測試工具類
4.2.1測試工具
4.2.2測試 Spring MVC
第5章集成測試
5.1 集成測試概述
難點(diǎn)5.1.1上下文管理與緩存
重點(diǎn)5.1.2測試夾具的依賴注入
重點(diǎn)5.1.3事務(wù)管理
重點(diǎn)5.1.4集成測試類
測試5.1.5JDBC
5.2 測試相關(guān)的注解
5.2.1@BootstrapWith
5.2.2@ContextConfiguration
5.2.3@WebAppConfiguration
5.2.4@ContextHierarchy
5.2.5@ActiveProfiles
5.2.6@TestPropertySource
5.2.7@DirtiesContext
5.2.8@TestExecutionListeners
5.2.9@Commit
5.2.10@Rollback
5.2.11@BeforeTransaction
5.2.12@AfterTransaction
5.2.13@Sql
5.2.14@SqlConfig
5.2.15@SqlGroup
5.2.16標(biāo)準(zhǔn)注解
5.2.17Spring JUnit 4 注解
新功能5.2.18Spring JUnit Jupiter 注解
5.2.19元注解
難點(diǎn)5.3 Spring TestContext 框架
5.3.1Spring TestContext 框架概述
5.3.2核心抽象
5.3.3引導(dǎo) TestContext
5.3.4TestExecutionListener 配置
難點(diǎn)5.3.5上下文管理
5.3.6測試夾具的依賴注入
難點(diǎn)5.3.7如何測試 request bean 和 session bean
重點(diǎn)5.3.8事務(wù)管理
5.3.9執(zhí)行 SQL 腳本
新功能5.3.10并行測試
新功能5.3.11SpringExtension 測試類
5.4 Spring MVC Test 框架
5.4.1服務(wù)端測試概述
難點(diǎn)5.4.2選擇測試策略
重點(diǎn)5.4.3設(shè)置測試功能
重點(diǎn)5.4.4執(zhí)行請求
難點(diǎn)5.4.5定義期望
5.4.6注冊過濾器
5.4.7脫離容器的測試
5.4.8實(shí)戰(zhàn):服務(wù)端測試的例子
5.4.9HtmlUnit 集成
5.4.10客戶端 REST 測試
5.4.11實(shí)戰(zhàn):客戶端 REST 測試的例子
★新功能 5.5 WebTestClient
5.5.1WebTestClient 概述
5.5.2設(shè)置 WebTestClient
5.5.3如何編寫測試用例
5.5.4處理空內(nèi)容
5.5.5處理 JSON
5.5.6處理流式響應(yīng)
第6章事務(wù)管理
6.1 事務(wù)管理概述
6.1.1Spring 事務(wù)管理優(yōu)勢
難點(diǎn)6.1.2Spring 事務(wù)模型
6.2 通過事務(wù)實(shí)現(xiàn)資源同步
6.2.1高級別的同步方法
6.2.2低級別的同步方法
6.2.3TransactionAwareDataSourceProxy
6.3 聲明式事務(wù)管理
重點(diǎn)6.3.1聲明式事務(wù)管理
6.3.2實(shí)戰(zhàn):聲明式事務(wù)管理的例子
重點(diǎn)6.3.3事務(wù)回滾
6.3.4配置不同的事務(wù)策略
重點(diǎn)6.3.5@Transactional 詳解
重點(diǎn)6.3.6事務(wù)傳播機(jī)制
6.4 編程式事務(wù)管理
6.4.1編程式事務(wù)管理概述
6.4.2聲明式事務(wù)管理和編程式事務(wù)管理
6.5 事件中的事務(wù)
第7章DAO
7.1 DAO 概述
7.2 DAO 常用異常類
7.3 DAO 常用注解
第8章基于 JDBC 的數(shù)據(jù)訪問
8.1 Spring JDBC 概述
8.1.1不同的 JDBC 訪問方式
8.1.2Spring JDBC 包
8.2 JDBC 核心類
重點(diǎn)8.2.1JdbcTemplate
8.2.2實(shí)戰(zhàn):使用 JdbcTemplate 的例子
8.2.3NamedParameterJdbcTemplate
8.2.4SQLExceptionTranslator
重點(diǎn)8.2.5執(zhí)行語句
重點(diǎn)8.2.6運(yùn)行查詢
重點(diǎn)8.2.7更新數(shù)據(jù)
8.2.8檢索自動生成的主鍵
8.3 控制數(shù)據(jù)庫連接
8.4 批處理
8.4.1使用 JdbcTemplate 實(shí)現(xiàn)批處理
8.4.2批量更新 List
8.4.3多個批次更新
8.5 SimpleJdbc 類
8.5.1使用 SimpleJdbcInsert 插入數(shù)據(jù)
8.5.2使用 SimpleJdbcInsert 檢索自動生成的主鍵
8.5.3使用 SqlParameterSource
8.5.4使用 SimpleJdbcCall
8.6 JDBC 轉(zhuǎn)為對象模型
8.6.1SqlQuery
8.6.2MappingSqlQuery
8.6.3SqlUpdate
8.6.4StoredProcedure
8.6.5實(shí)戰(zhàn):JDBC 轉(zhuǎn)為對象模型的例子
8.7 內(nèi)嵌數(shù)據(jù)庫
重點(diǎn)8.7.1使用內(nèi)嵌數(shù)據(jù)庫的好處
8.7.2使用 Spring XML 創(chuàng)建內(nèi)存數(shù)據(jù)庫
8.7.3編程方式創(chuàng)建內(nèi)存數(shù)據(jù)庫
8.7.4實(shí)戰(zhàn):使用內(nèi)存數(shù)據(jù)庫進(jìn)行測試的例子
8.8 初始化 DataSource
第9章基于 ORM 的數(shù)據(jù)訪問
9.1 Spring ORM 概述
9.2 ORM 集成注意事項
重點(diǎn)9.2.1資源與事務(wù)管理
難點(diǎn)9.2.2異常處理
9.3 集成 Hibernate
重點(diǎn)9.3.1設(shè)置 SessionFactory
9.3.2基于 Hibernate 的 DAO
重點(diǎn)9.3.3聲明式事務(wù)
重點(diǎn)9.3.4編程事務(wù)
9.3.5事務(wù)管理策略
9.4 JPA
9.4.1設(shè)置 JPA 不同方式
重點(diǎn)9.4.2基于 JPA 的 DAO
9.4.3JPA 事務(wù)
重點(diǎn)9.4.4JpaDialect
9.4.5JTA 事務(wù)管理
第10章XML 與對象的轉(zhuǎn)換
10.1 XML 解析概述
10.2 XML 的序列化與反序列化
10.2.1序列化接口 Marshaller
10.2.2反序列化接口 Unmarshaller
10.2.3XML 解析異常類
重點(diǎn)10.2.4如何使用 XML 的序列化與反序列化
10.2.5XML 配置命名空間
10.3 常用 XML 解析工具
10.3.1JAXB
10.3.2Castor
10.3.3JiBX
10.3.4XStream
10.3.5實(shí)戰(zhàn):使用 JAXB 解析 XML 的例子
第11章Spring Web MVC
11.1 Spring Web MVC 概述
11.2 DispatcherServlet
11.2.1DispatcherServlet 概述
重點(diǎn)11.2.2上下文層次結(jié)構(gòu)
11.2.3特定的 bean
重點(diǎn)11.2.4框架配置
11.2.5容器配置
11.2.6處理流程
11.2.7攔截
11.2.8視圖解析
11.2.9語言環(huán)境
重點(diǎn)11.2.10Multipart 請求
11.3 過濾器
11.3.1HTTP PUT 表單
11.3.2轉(zhuǎn)發(fā)頭
11.3.3ShallowEtagHeaderFilter
11.3.4CORS
11.4 控制器
11.4.1控制器概述
重點(diǎn)11.4.2聲明控制器
重點(diǎn)11.4.3請求映射
重點(diǎn)11.4.4處理器方法
重點(diǎn)11.4.5模型方法
11.4.6綁定器方法
11.5 URI 處理
11.5.1URI 鏈接
11.5.2鏈接到控制器
11.5.3視圖中的鏈接
11.6 異常處理
11.6.1異常處理概述
11.6.2@ExceptionHandler
11.6.3框架異常處理
11.6.4REST API 異常
11.6.5注解異常
11.6.6容器錯誤頁面
11.7 異步請求
難點(diǎn)11.7.1異步請求處理流程
11.7.2異常處理
11.7.3異步攔截器
難點(diǎn)11.7.4流式響應(yīng)
重點(diǎn)11.7.5Server-Sent Events
11.7.6發(fā)送原生數(shù)據(jù)
新功能11.7.7響應(yīng)式返回值
11.7.8配置
11.8 CORS 處理
重點(diǎn)11.8.1CORS 概述
重點(diǎn)11.8.2@CrossOrigin
11.8.3全局 CORS 配置
11.8.4自定義CORS
11.8.5CORS 過濾器
11.9 HTTP 緩存
11.9.1HTTP 緩存概述
重點(diǎn)11.9.2緩存控制
重點(diǎn)11.9.3靜態(tài)資源
11.9.4控制器緩存
11.10 MVC 配置
11.10.1啟用 MVC 配置
11.10.2類型轉(zhuǎn)換
11.10.3驗證
重點(diǎn) 11.10.4攔截器
11.10.5內(nèi)容類型
重點(diǎn)11.10.6消息轉(zhuǎn)換器
重點(diǎn)11.10.7視圖控制器
重點(diǎn)11.10.8視圖解析器
重點(diǎn)11.10.9靜態(tài)資源
11.10.10DefaultServletHttpRequestHandler
難點(diǎn)11.10.11路徑匹配
11.11 視圖處理
重點(diǎn)11.11.1常用視圖技術(shù)
11.11.2文檔視圖
11.11.3Feed 視圖
★新功能 11.12 HTTP/2
11.12.1TLS 的考慮
11.12.2容器配置
實(shí)戰(zhàn)11.13 基于 Spring Web MVC 的 REST 接口
11.13.1系統(tǒng)概述
難點(diǎn)11.13.2接口設(shè)計
重點(diǎn)11.13.3系統(tǒng)配置
重點(diǎn)11.13.4后臺編碼實(shí)現(xiàn)
重點(diǎn)11.13.5應(yīng)用配置
11.13.6運(yùn)行
第12章REST 客戶端
12.1 RestTemplate
★新功能 12.2 WebClient
實(shí)戰(zhàn)12.3 基于 RestTemplate 的天氣預(yù)報服務(wù)
重點(diǎn)12.3.1系統(tǒng)配置
重點(diǎn)12.3.2后臺編碼實(shí)現(xiàn)
12.3.3運(yùn)行
第13章WebSocket
13.1 WebSocket 概述
13.1.1HTTP和WebSocket
重點(diǎn)13.1.2理解 WebSocket 使用場景
13.2 WebSocket 常用 API
重點(diǎn)13.2.1WebSocketHandler
13.2.2WebSocket 握手
13.2.3部署
重點(diǎn)13.2.4配置
13.2.5跨域處理
13.3 SockJS
13.3.1SockJS 概述
13.3.2啟用 SockJS
13.3.3心跳
13.3.4客戶端斷開連接
13.3.5CORS 處理
13.3.6SockJsClient
13.4 STOMP
13.4.1STOMP 概述
13.4.2啟用 STOMP
重點(diǎn)13.4.3消息流程
13.4.4處理器方法
重點(diǎn)13.4.5發(fā)送消息
13.4.6內(nèi)嵌 Broker和外部 Broker
重點(diǎn)13.4.7連接到 Broker
13.4.8認(rèn)證
重點(diǎn)13.4.9用戶目的地
13.4.10事件和攔截
13.4.11STOMP 客戶端
13.4.12WebSocket Scope
難點(diǎn)13.4.13性能優(yōu)化
13.5 基于 STOMP 的聊天室
實(shí)戰(zhàn)13.5.1聊天室項目的概述
重點(diǎn)13.5.2設(shè)置 Broker
重點(diǎn)13.5.3服務(wù)端編碼
重點(diǎn)13.5.4客戶端編碼
13.5.5運(yùn)行
第14章Spring WebFlux
★新功能 14.1 響應(yīng)式編程概述
14.1.1響應(yīng)式編程簡述
重點(diǎn)14.1.2Spring WebFlux 與 Spring MVC 的區(qū)別
重點(diǎn)14.1.3響應(yīng)式 API
難點(diǎn)14.1.4響應(yīng)式編程模型
★新功能 14.2 Spring 中的響應(yīng)式編程
重點(diǎn)14.2.1HttpHandler
重點(diǎn)14.2.2WebHandler API
14.2.3編碼器和解碼器
★新功能 14.3 DispatcherHandler
重點(diǎn)14.3.1Spring WebFlux 常用 bean
14.3.2配置
14.3.3執(zhí)行
★新功能 14.4 控制器
重點(diǎn)14.4.1@Controller
重點(diǎn)14.4.2請求映射
重點(diǎn)14.4.3處理器方法
★新功能 14.5 常用函數(shù)
重點(diǎn)14.5.1HandlerFunction
重點(diǎn)14.5.2RouterFunction
14.5.3運(yùn)行服務(wù)器
14.5.4HandlerFilterFunction
★新功能 14.6 WebFlux 相關(guān)配置
重點(diǎn)14.6.1啟用 WebFlux
難點(diǎn)14.6.2配置 WebFlux
重點(diǎn)14.6.3數(shù)據(jù)轉(zhuǎn)換
重點(diǎn)14.6.4數(shù)據(jù)驗證
重點(diǎn)14.6.5內(nèi)容類型解析器
重點(diǎn)14.6.6HTTP 消息編碼器和解碼器
重點(diǎn)14.6.7視圖解析器
重點(diǎn)14.6.8靜態(tài)資源
重點(diǎn)14.6.9路徑匹配
★新功能 14.7 CORS 處理
重點(diǎn)14.7.1CORS 概述
重點(diǎn)14.7.2@CrossOrigin
14.7.3全局CORS 配置
14.7.4自定義CORS
14.7.5CORS 過濾器
第15章響應(yīng)式編程中的 WebClient
★新功能 重點(diǎn) 15.1 retrieve() 方法
★新功能 重點(diǎn) 15.2 exchange() 方法
★新功能 15.3 請求主體
重點(diǎn)15.3.1處理 Form 表單數(shù)據(jù)
重點(diǎn)15.3.2處理文件上傳數(shù)據(jù)
★新功能 15.4 生成器
★新功能 15.5 過濾器
★新功能 實(shí)戰(zhàn) 15.6 基于 WebClient 的文件上傳、下載
15.6.1應(yīng)用的概述
重點(diǎn)15.6.2文件上傳的編碼實(shí)現(xiàn)
重點(diǎn)15.6.3文件下載的編碼實(shí)現(xiàn)
15.6.4運(yùn)行
第16章響應(yīng)式編程中的 WebSocket
16.1 WebSocket 概述
16.2 WebSocket 常用 API
重點(diǎn)16.2.1WebSocketHandler
16.2.2WebSocket 握手
重點(diǎn)16.2.3配置
16.2.4跨域處理
★新功能 16.3 WebSocketClient
第17章常用集成模式
17.1 Spring 集成模式概述
17.2 使用 RMI
重點(diǎn)17.2.1使用 RmiServiceExporter 暴露服務(wù)
重點(diǎn)17.2.2客戶端訪問服務(wù)
17.3 使用 Hessian
重點(diǎn)17.3.1編寫 DispatcherServlet
重點(diǎn)17.3.2使用 HessianServiceExporter 暴露 bean
重點(diǎn)17.3.3客戶端訪問服務(wù)
17.3.4在 Hessian 中使用基本認(rèn)證
17.4 使用 HTTP
重點(diǎn)17.4.1暴露服務(wù)
重點(diǎn)17.4.2客戶端訪問服務(wù)
17.5 Web 服務(wù)
重點(diǎn)17.5.1暴露基于 JAX-WS 的 Web 服務(wù)
重點(diǎn)17.5.2訪問服務(wù)
17.6 JMS
17.6.1JMS 概述
重點(diǎn)17.6.2服務(wù)端配置
重點(diǎn)17.6.3客戶端配置
17.7 REST 服務(wù)
重點(diǎn)17.7.1RestTemplate
17.7.2HTTP 消息轉(zhuǎn)換器
第18章EJB 集成
18.1 EJB 集成概述
18.2 EJB 集成的實(shí)現(xiàn)
18.2.1訪問本地 SLSB
18.2.2訪問遠(yuǎn)程 SLSB
第19章JMS 集成
19.1 JMS 集成概述
19.2 Spring JMS
重點(diǎn)19.2.1JmsTemplate
重點(diǎn)19.2.2連接管理
重點(diǎn)19.2.3目的地管理
19.2.4消息監(jiān)聽器容器
重點(diǎn)19.2.5事務(wù)管理
19.3 發(fā)送消息
19.3.1使用消息轉(zhuǎn)換器
19.3.2回調(diào)
19.4 接收消息
19.4.1同步接收
重點(diǎn)19.4.2異步接收
19.4.3SessionAwareMessageListener
19.4.4MessageListenerAdapter
19.4.5處理事務(wù)
重點(diǎn)
19.5 JCA 消息端點(diǎn)
19.6 基于注解的監(jiān)聽器
19.6.1啟用基于注解的監(jiān)聽器
重點(diǎn)19.6.2編程式端點(diǎn)注冊
重點(diǎn)19.6.3基于注解的端點(diǎn)方法簽名
19.6.4響應(yīng)管理
19.7 JMS 命名空間
難點(diǎn)19.8 基于 JMS 的消息發(fā)送、接收
19.8.1項目概述
19.8.2配置
19.8.3編碼實(shí)現(xiàn)
19.8.4運(yùn)行
第20章JMX 集成
20.1 JMX 集成概述
20.2 bean 轉(zhuǎn)為 JMX
重點(diǎn)20.2.1創(chuàng)建 MBeanServer
20.2.2重用 MBeanServer
20.2.3延遲實(shí)例化 MBean
20.2.4MBean 自動注冊
重點(diǎn)20.2.5控制注冊行為
20.3 bean 的控制管理
20.3.1MBeanInfoAssembler
重點(diǎn)20.3.2注解
20.3.3AutodetectCapableMBeanInfoAssembler
重點(diǎn)20.3.4定義管理接口
20.3.5MethodNameBasedMBeanInfoAssembler
20.4 通知
20.4.1注冊監(jiān)聽器
20.4.2發(fā)布通知
第21章JCA CCI 集成
21.1 JCA CCI 集成概述
21.2 配置 CCI
21.2.1連接器配置
21.2.2ConnectionFactory 配置
21.2.3配置連接
21.3 使用 CCI 進(jìn)行訪問
21.3.1記錄轉(zhuǎn)換
重點(diǎn)21.3.2CciTemplate
21.3.3DAO
21.3.4自動輸出記錄生成
21.4 CCI 訪問對象建模
21.4.1MappingRecordOperation
21.4.2MappingCommAreaOperation
21.5 CCI 中的事務(wù)處理
第22章使用 E-mail
22.1 使用 E-mail 概述
22.2 實(shí)現(xiàn)發(fā)送 E-mail
重點(diǎn)22.2.1MailSender 和 SimpleMailMessage 的基本用法
重點(diǎn)22.2.2JavaMailSender 和 MimeMessagePreparator 的用法
22.3 使用 MimeMessageHelper
難點(diǎn)22.3.1發(fā)送附件和內(nèi)聯(lián)資源
重點(diǎn)22.3.2使用模板創(chuàng)建 E-mail 內(nèi)容
實(shí)戰(zhàn)22.4 實(shí)現(xiàn) E-mail 服務(wù)器
22.4.1項目概述
22.4.2E-mail 服務(wù)器編碼實(shí)現(xiàn)
22.4.3格式化 E-mail 內(nèi)容
22.4.4運(yùn)行
第23章任務(wù)執(zhí)行與調(diào)度
23.1 任務(wù)執(zhí)行與調(diào)度概述
23.2 TaskExecutor
23.2.1TaskExecutor 類型
23.2.2使用 TaskExecutor
23.3 TaskScheduler
23.3.1Trigger 接口
23.3.2實(shí)現(xiàn)
23.4 任務(wù)調(diào)度及異步執(zhí)行
23.4.1啟用調(diào)度注解
重點(diǎn)23.4.2@Scheduled
重點(diǎn)23.4.3@Async
23.4.4@Async 的異常處理
23.4.5命名空間
23.5 使用 Quartz Scheduler
23.5.1使用 JobDetailFactoryBean
23.5.2使用 MethodInvokingJobDetailFactoryBean
實(shí)戰(zhàn)23.6 基于 Quartz Scheduler 的天氣預(yù)報系統(tǒng)
23.6.1項目概述
23.6.2后臺編碼實(shí)現(xiàn)
23.6.3運(yùn)行
第24章緩存
24.1 緩存概述
24.2 聲明式緩存注解
重點(diǎn)24.2.1@Cacheable
重點(diǎn)24.2.2@CachePut
重點(diǎn)24.2.3@CacheEvict
重點(diǎn)24.2.4@Caching
24.2.5@CacheConfig
重點(diǎn)24.2.6啟用緩存
24.2.7使用自定義緩存
24.3 JCache 注解
24.3.1JCache 注解概述
24.3.2與 Spring 緩存注解的差異
24.4 基于 XML 的聲明式緩存
24.5 配置緩存存儲
24.5.1基于 JDK 的緩存
24.5.2基于 Ehcache 的緩存
24.5.3基于 Caffeine 的緩存
24.5.4基于 GemFire 的緩存
24.5.5基于 JSR-107 的緩存
實(shí)戰(zhàn) 24.6 基于緩存的天氣預(yù)報系統(tǒng)
24.6.1項目概述
24.6.2后臺編碼實(shí)現(xiàn)
24.6.3緩存配置
24.6.4運(yùn)行
第25章Spring Boot
25.1 從單塊架構(gòu)到微服務(wù)架構(gòu)
25.1.1單塊架構(gòu)的概念
重點(diǎn)25.1.2單塊架構(gòu)的優(yōu)缺點(diǎn)
難點(diǎn)25.1.3將單塊架構(gòu)進(jìn)化為微服務(wù)架構(gòu)
25.2 微服務(wù)設(shè)計原則
難點(diǎn)25.2.1拆分足夠“微”
重點(diǎn)25.2.2輕量級通信
難點(diǎn)25.2.3領(lǐng)域驅(qū)動原則
重點(diǎn)25.2.4單一職責(zé)原則
重點(diǎn)25.2.5DevOps 及兩個比薩原則
重點(diǎn)25.2.6不限于技術(shù)棧
重點(diǎn)25.2.7可獨(dú)立部署
25.3 Spring Boot 概述
難點(diǎn)25.3.1Spring Boot 產(chǎn)生的背景
重點(diǎn)25.3.2Spring Boot 的目標(biāo)
重點(diǎn)25.3.3Spring Boot 與其他 Spring 應(yīng)用的關(guān)系
重點(diǎn)25.3.4Starter
實(shí)戰(zhàn)25.4 開啟第一個 Spring Boot 項目
25.4.1通過 Spring Initializr 初始化一個 Spring Boot 原型
25.4.2用 Gradle 編譯項目
25.4.3探索項目
第26章Spring Cloud
★新功能 26.1 Spring Cloud 概述
26.1.1Spring Cloud 簡介
26.1.2Spring Cloud 與 Spring Boot 的關(guān)系
★新功能 26.2 Spring Cloud 入門配置
重點(diǎn)26.2.1Maven 配置
重點(diǎn)26.2.2Gradle 配置
重點(diǎn)26.2.3聲明式方法
★新功能 26.3 Spring Cloud 的子項目介紹
26.3.1Spring Cloud 子項目的組成
重點(diǎn)26.3.2Spring Cloud 組件的版本
★新功能 實(shí)戰(zhàn) 26.4 實(shí)現(xiàn)微服務(wù)的注冊與發(fā)現(xiàn)
26.4.1服務(wù)發(fā)現(xiàn)的意義
重點(diǎn)26.4.2集成 Eureka Server
重點(diǎn)26.4.3集成 Eureka Client
重點(diǎn)26.4.4實(shí)現(xiàn)服務(wù)的注冊與發(fā)現(xiàn)
附錄
附錄A EJB 規(guī)范摘要
A1EJB 2.1 規(guī)范目標(biāo)
A2EJB 3.2 規(guī)范目標(biāo)
附錄B Bean Validation 內(nèi)置約束
附錄C 提升 Gradle 的構(gòu)建速度
附錄D 本書所采用的技術(shù)及相關(guān)版本
參考文獻(xiàn)