Spring Boot是由Pivotal團隊提供的全新框架,其設計目的就是希望簡化Spring企業(yè)級應用開發(fā)的過程?梢哉f,Spring Boot是Spring框架發(fā)展歷史上的一次大的進化,是社區(qū)中快速配置的腳手架,它直接省去了煩瑣的XML配置,從而避免了由配置錯誤所帶來的尷尬。正是憑借著這些優(yōu)勢,Spring Boot迅速被廣大開發(fā)者接受并應用于實際開發(fā)中,而且發(fā)展勢頭非常迅猛。由于Spring Boot非常契合微服務開發(fā)的理念,因此采用它進行微服務應用開發(fā)的企業(yè)也越來越多。
對于已經學習過Spring框架的讀者來說,學習Spring Boot的門檻不高。學習Spring Boot,不僅可以讓代碼編寫更加簡單,而且還能輕松地集成各種類庫和框架。另外,掌握了Spring Boot,還可以快速開發(fā)單個微服務應用,這對學習Spring Cloud微服務架構更是事半功倍。微服務是企業(yè)級應用開發(fā)的一大趨勢,而Spring Boot融合了微服務架構的理念,這使得它其實已經成為Java后端開發(fā)的行業(yè)標準之一?梢哉f,掌握Spring Boot與各種技術的集成開發(fā)是軟件開發(fā)人員的技能。
對于相關從業(yè)人員而言,迫切需要一本系統介紹Spring Boot開發(fā)技術的圖書,以幫助他們系統地學習這些技術,從而滿足實際開發(fā)的需求。本書便是基于這個背景而編寫的,其價值在于總結了筆者在實際工作中積累的大量實踐經驗,并提供了各種開發(fā)解決方案。本書可以幫助讀者從源碼、功能和案例等方面全面地理解Spring Boot企業(yè)級應用開發(fā),從而讓他們在開發(fā)過程中少走彎路。
《Spring Boot整合開發(fā)實戰(zhàn)》主要介紹Spring Boot如何快速配置并集成Spring MVC、Spring Data、Spring Batch和Spring Security等優(yōu)秀框架和組件進行開發(fā)。本書語言簡練,沒有深奧難懂的專業(yè)術語,更沒有高深的理論,而是完全從開發(fā)者的角度講解實戰(zhàn)步驟。讀者只要認真閱讀本書并進行編碼實踐,就可以較好地掌握書中的內容,從而勝任Spring Boot項目開發(fā)工作。本書是筆者工作經驗的總結,相關技術人員可以作為開發(fā)手冊隨時翻閱。
《Spring Boot整合開發(fā)實戰(zhàn)》特色
內容全面:本書全面介紹Spring Boot在各種開發(fā)場景中的應用,內容豐富,涉及面廣,涵蓋起步依賴、Web開發(fā)、數據庫、緩存、消息隊列、定時任務和批處理等相關技術。
內容新穎:本書主要基于Spring Boot 2.2.6這個流行版本完成各種框架和組件的集成開發(fā),涉及的技術都是當前開發(fā)中經常要使用的熱門技術和新技術。
注重實戰(zhàn):本書結合大量示例,從實際編碼的角度進行講解,所講述的知識點大多是筆者在多年的開發(fā)工作中積累的寶貴經驗,可以讓讀者避免掉坑,少走彎路。
源碼剖析:筆者以典型示例結合源碼剖析的方式完美地呈現技術要點,可以幫助讀者加深對編碼的理解,提升實際編碼的能力。
《Spring Boot整合開發(fā)實戰(zhàn)》內容
第1篇 Spring Boot開發(fā)基礎
本篇涵蓋第1、2章,主要介紹Spring Boot開發(fā)環(huán)境的配置與搭建,讓讀者從整體上了解Spring Boot的開發(fā)過程。另外,本篇還重點介紹Spring Boot的啟動原理與加載邏輯,幫助讀者理解Spring框架的IoC和AOP設計模式,從而掌握Spring Boot自動配置的實現過程,為后續(xù)章節(jié)打好理論基礎。
第2篇 第三方組件集成
本篇涵蓋第3~11章,主要對Spring Boot的第三方組件的功能模塊進行源碼分析,介紹組件的集成過程,并通過示例代碼進行演示和總結,從而達到讓讀者能夠上手開發(fā)的目的。本篇屬于全書的重點,需要讀者很好地掌握并進行相應的實踐。
第3篇 項目案例實戰(zhàn)
本篇涵蓋第12章,主要介紹如何基于Spring Boot框架進行項目開發(fā)和接口測試,其中重點介紹需求分析、框架設計、項目模塊構建及項目落地的相關內容。
《Spring Boot整合開發(fā)實戰(zhàn)》讀者對象
有Java基礎的Spring Boot初學者;
Spring Boot進階開發(fā)人員;
Spring Boot框架愛好者;
Spring系列框架愛好者;
Java Web開發(fā)人員;
微服務開發(fā)人員;
對源碼分析感興趣的技術人員;
Java應用開發(fā)培訓學員。
配書資源獲取方式
《Spring Boot整合開發(fā)實戰(zhàn)》涉及的所有源代碼需要讀者自行下載。請在華章公司的網站(www.hzbook.com)上搜索到本書,然后單擊資料下載按鈕,即可在本書頁面上找到下載鏈接。
售后支持
讀者閱讀本書時若有疑問,可以發(fā)電子郵件到hzbook2017@163.com獲得幫助。另外,書中若有疏漏和不當之處,也請讀者及時反饋,以便后期修訂。
莫海
……
第1篇 Spring Boot開發(fā)基礎
第1章 初識Spring Boot 2
1.1 Spring Boot簡介 2
1.2 Spring Boot項目構建 3
1.2.1 開發(fā)環(huán)境準備 3
1.2.2 開發(fā)工具準備 9
1.2.3 項目創(chuàng)建 13
1.2.4 項目啟動方式 19
1.3 Spring Boot項目發(fā)布 21
1.3.1 打包部署 21
1.3.2 基于Docker的簡單部署 23
1.4 小結 26
第2章 Spring Boot基礎知識 27
2.1 Spring Boot啟動原理 27
2.1.1 SpringApplication啟動探索 27
2.1.2 注解@SpringBootApplication詳解 30
2.1.3 注解@EnableAutoConfiguration詳解 43
2.1.4 注解@Configuration與@Component對比 51
2.2 Spring Boot基礎配置 53
2.2.1 Spring Boot配置文件加載機制 53
2.2.2 Properties配置文件詳解 56
2.2.3 YAML配置文件詳解 59
2.2.4 Spring Profiles使用說明 60
2.3 自定義Banner 63
2.4 內嵌式Web容器 66
2.4.1 Tomcat的配置 67
2.4.2 Undertow的配置 69
2.4.3 Jetty的配置 71
2.5 視圖層技術 73
2.5.1 集成Thymeleaf模板引擎 73
2.5.2 集成Freemarker模板引擎 76
2.5.3 集成Velocity模板引擎 78
2.6 小結 80
第2篇 第三方組件集成
第3章 Spring Boot整合Web開發(fā) 82
3.1 Spring Boot自動配置Web 82
3.2 配置JSON和XML數據轉換 84
3.2.1 默認轉換器 85
3.2.2 自定義轉換器 93
3.3 配置Servlet、Filter和Listener 96
3.4 配置攔截器 104
3.5 配置AOP 108
3.6 全局異常處理 114
3.6.1 自定義錯誤頁 114
3.6.2 自定義異常返回 119
3.7 靜態(tài)資源訪問 121
3.7.1 默認靜態(tài)資源訪問 121
3.7.2 自定義靜態(tài)資源訪問 123
3.8 配置CORS實現跨域 124
3.9 配置文件上傳 127
3.10 配置啟動加載項 130
3.10.1 CommandLineRunner接口詳解 132
3.10.2 ApplicationRunner接口詳解 133
3.11 配置日志 134
3.11.1 Log4j 2配置 134
3.11.2 Logback配置 135
3.12 小結 138
第4章 Spring Boot整合持久層技術 139
4.1 默認連接池HikariCP 139
4.2 配置Druid連接池 146
4.3 配置MyBatis框架 149
4.3.1 基礎配置 149
4.3.2 自定義插件 155
4.3.3 應用案例 161
4.4 配置使用Spring Data JDBC 166
4.4.1 基礎配置 166
4.4.2 應用案例 168
4.5 配置使用Spring Data JPA 171
4.5.1 基礎配置 171
4.5.2 應用案例 176
4.6 事務管理配置 179
4.7 多數據源配置 184
4.8 小結 187
第5章 Spring Boot構建RESTful風格 188
5.1 RESTful簡介 188
5.2 Spring Data REST實現REST服務 189
5.3 Swagger生成API文檔工具 194
5.4 小結 198
第6章 Spring Boot整合NoSQL 199
6.1 NoSQL簡介 199
6.2 集成Redis數據庫 200
6.2.1 Redis簡介 200
6.2.2 Redis應用案例 201
6.2.3 Redis集群 222
6.3 集成MongoDB數據庫 225
6.3.1 MongoDB簡介 226
6.3.2 MongoDB應用案例 227
6.4 小結 232
第7章 Spring Boot整合Cache緩存 233
7.1 Spring Boot的緩存支持 233
7.1.1 注解@EnableCaching開啟聲明式緩存 233
7.1.2 默認的ConcurrentMapCacheManager緩存管理器 242
7.2 EhCache緩存技術 245
7.2.1 EhCacheCacheManager緩存配置 245
7.2.2 EhCache的集群模式 248
7.3 Redis緩存技術 250
7.3.1 RedisCacheManager緩存配置 250
7.3.2 Redis緩存管理 254
7.4 小結 255
第8章 Spring Security安全管理 256
8.1 Spring Security基本配置 256
8.1.1 用戶認證 256
8.1.2 基于內存的認證 263
8.1.3 基于數據庫的認證 266
8.1.4 用戶授權 274
8.2 Spring Security高級配置 288
8.2.1 角色繼承 288
8.2.2 動態(tài)權限 295
8.3 Spring Security OAuth 2.0簡介 298
8.3.1 OAuth 2.0角色 299
8.3.2 OAuth 2.0授權流程 300
8.4 JWT簡介 314
8.5 小結 315
第9章 Spring Boot整合消息服務 316
9.1 消息隊列 316
9.2 消息中間件之RabbitMQ 317
9.2.1 RabbitMQ的基本概念 317
9.2.2 RabbitMQ自動配置 322
9.2.3 RabbitMQ應用案例 328
9.3 消息中間件之ActiveMQ 331
9.3.1 ActiveMQ的基本概念 331
9.3.2 ActiveMQ自動配置 334
9.3.3 ActiveMQ應用案例 338
9.4 消息中間件之Kafka 341
9.4.1 Kafka的基本概念 341
9.4.2 Kafka自動配置 343
9.4.3 Kafka應用案例 350
9.5 消息中間件之RocketMQ 360
9.5.1 RocketMQ的基本概念 360
9.5.2 RocketMQ自動配置 363
9.5.3 RocketMQ應用案例 372
9.6 小結 378
第10章 Spring Boot整合批處理 379
10.1 Spring Batch簡介 379
10.2 Spring Batch的核心架構 380
10.3 Spring Batch基礎配置 389
10.4 Spring Batch應用案例 393
10.5 小結 399
第11章 Spring Boot整合定時任務 400
11.1 Spring Boot默認的定時任務 400
11.1.1 注解@EnableScheduling:定時任務總開關 400
11.1.2 注解@Scheduled和@Schedules詳解 414
11.2 Spring Boot集成JDK定時任務 419
11.2.1 Timer方式 420
11.2.2 ScheduledExecutorService方式 427
11.3 Spring Boot集成Quartz任務調度 434
11.3.1 Quartz簡介 434
11.3.2 定義Quartz的Job 435
11.3.3 Quartz使用Cron表達式 445
11.3.4 消息定點推送案例 447
11.4 小結 453
第3篇 項目案例實戰(zhàn)
第12章 Spring Boot開發(fā)案例 456
12.1 網上商城項目 456
12.1.1 架構設計 456
12.1.2 項目搭建 458
12.1.3 模塊實現 498
12.2 小結 512
……