Spring Boot 整合開發實戰
內容描述
本書從Spring Boot的基礎知識講起,然後逐步深入講解Spring Boot進階開發的相關知識,
接著配合典型項目案例提高讀者的開發水平。
本書共12章,涵蓋的主要內容有:Spring Boot起源;Spring Boot啟動原理分析;Spring Boot整合Web開發;
Spring Data數據庫訪問與配置;RESTful風格的接口設計規範;NoSQL相關數據庫應用;Spring Boot的緩存應用;
Spring Security安全框架配置;消息隊列相關產品應用;Spring Batch批處理框架的配置與使用;
Spring Boot的定時任務應用;Spring Boot實戰案例。
本書適合具有Java基礎知識的開發人員閱讀,尤其適合想全面、深入學習Spring boot框架的Java程序員閱讀。
另外,本書還適合相關培訓機構作為教材使用。
目錄大綱
前言
第1篇 Spring Boot開發基礎
第1章 初識Spring Boot 2
1.1 Spring Boot簡介 2
1.2 Spring Boot項目構建 3
1.2.1 開發環境準備 3
1.2.2 開發工具準備 9
1.2.3 項目創建 13
1.2.4 項目啟動方式 19
1.3 Spring Boot項目發布 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開發 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 靜態資源訪問 121
3.7.1 默認靜態資源訪問 121
3.7.2 自定義靜態資源訪問 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 動態權限 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篇 項目案例實戰
第12章 Spring Boot開發案例 456
12.1 網上商城項目 456
12.1.1 架構設計 456
12.1.2 項目搭建 458
12.1.3 模塊實現 498
12.2 小結 512
作者介紹
莫海
特別喜愛編程,長期從事一線開發工作,具有豐富的分佈式事務解決方案等開發經驗。
曾經擔任神州數碼融信軟件科技有限公司Java高級工程師。
目前在中原銀行從事技術平台應用框架的開發工作,
並為該銀行的信貸業務等多個系統提供技術支持,積累了大量的解決實際問題的經驗。