Spring Boot 開發實戰
內容描述
本書系統介紹如何使用SpringBoot2.0框架快速開發企業級應用。
全書共分三大部分,共20章。第I部分“SpringBoot框架基礎”包含第1-3章,介紹SpringBoot框架的特性,
並展示了快速建立HelloWorld的WebMVC示例,介紹怎樣通過自動配置實現極簡化的Spring應用程序開發。
第II部分“SpringBoot項目綜合實戰”包含第4~17章,介紹了大量相關項目案例,並給出了案例代碼。
如集成JPA數據庫層,Gradle插件應用,自定義WebMVC配置,AOP編程,集成SpringSecurity安全開發,
集成React.js開發前後端分離項目,任務調度與郵件服務開發,集成WebFlux開發響應式Web應用,
SpringBoot緩存,使用Zuul開發APIGateway,SpringBoot日誌應用等。
第III部分“SpringBoot系統監控、測試與運維”包含第18-20章,
詳細介紹如何高效部署運維SpringBoot應用,並給出了綜合案例。
目錄大綱
目錄Contents
前言
第Ⅰ部分Spring Boot框架基礎
第1章Spring Boot簡介2
1.1從Spring到Spring Boot 2
1.1.1從EJB到Spring 3
1.1.2 Spring框架發展簡史4
1.1.3 Spring框架的核心模塊5
1.2 Spring Boot簡介7
1.2.1 Spring Boot是什麼7
1.2.2 Spring Boot核心模塊10
1.3約定優於配置極簡化理念11
1.4本章小結12
第2章快速開始HelloWorld 13
2.1創建Spring Boot項目13
2.2 Spring Boot項目的入口類16
2.3添加HelloWorldController 18
2.4 Spring Boot應用註解@Spring BootApplication 19
2.4.1 Spring Boot配置類註解20
2.4.2啟用自動配置註解21
2.4.3組件掃描註解21
2.5 XML配置與註解配置22
2.6本章小結22
第3章深入理解Spring Boot自動配置23
3.1傳統的SSM開發過程23
3.2 Spring Boot自動配置原理26
3.2.1 Java配置26
3.2.2條件化Bean 27
3.2.3組合註解32
3.3 Spring Boot自動配置過程33
3.3.1 @EnableAutoConfiguration註解33
3.3.2 spring.factories文件34
3.3.3獲取候選配置類35
3.4 FreeMarkerAutoConfiguration實例分析35
3.4.1 spring-boot-starter-freemarker工程35
3.4.2 spring-boot-autoconfigure工程37
3.5本章小結39
第Ⅱ部分Spring Boot項目綜合實戰
第4章Spring Boot集成MyBatis數據庫層開發42
4.1 Java EE分層架構42
4.2 MyBatis簡介43
4.2.1概述43
4.2.2 MyBatis框架組成44
4.2.3 MyBatis基礎設施46
4.3項目實戰54
4.3.1使用Spring Boot CLI創建工程54
4.3.2 Spring Boot命令行CLI簡介54
4.3.3配置application.properties 58
4.3.4使用IDEA中自帶的連接數據庫客戶端59
4.3.5使用MyBatis Generator生成dao層代碼60
4.3.6設置MyBatis同時使用Mapper.xml和註解62
4.3.7使用@Select註解62
4.3.8使用MyBatis分頁插件pagehelper 63
4.3.9 MyBatis插件機制64
4.3.10實現分頁接口64
4.3.11 PageHelper工作原理67
4.3.12多表關聯查詢級聯74
4.4本章小結78
第5章Spring Boot集成JPA數據庫層開發79
5.1 JPA簡介79
5.1.1 JPA生態81
5.1.2 JPA技術棧82
5.2 ORM框架概述83
5.3 Hibernate簡介83
5.4 Spring Data JPA簡介88
5.5項目實戰90
5.5.1 Spring Data JPA提供的接口90
5.5.2創建項目91
5.5.3配置數據庫連接91
5.5.4自動生成Entity實體類代碼91
5.5.5配置項目數據源信息95
5.5.6實現查詢接口96
5.5.7分頁查詢97
5.5.8多表級聯查詢99
5.5.9級聯類型101
5.5.10模糊搜索接口102
5.5.11 JPQL語法基礎103
5.5.12 JPA常用註解108
5.6本章小結109
第6章Spring Boot Gradle插件應用開發110
6.1 Gradle簡介110
6.2用Gradle構建生命週期112
6.3 Gradle插件114
6.4項目實戰118
6.4.1創建項目118
6.4.2添加依賴121
6.4.3配置上傳本地Maven倉庫121
6.4.4實現插件122
6.4.5添加插件屬性配置124
6.4.6運行測試124
6.4.7在項目中使用kor插件126
6.5本章小結128
第7章使用Spring MVC開發Web應用129
7.1 Spring MVC簡介129
7.1.1 Servlet概述129
7.1.2 MVC簡介131
7.1.3 Spring、Spring MVC與Spring Boot 2.0 132
7.1.4 Spring MVC框架133
7.2 Spring MVC常用註解136
7.3項目實戰:使用FreeMarker模板引擎137
7.3.1 FreeMarker簡介137
7.3.2實現一個分頁查詢頁面138
7.4實現文件下載144
7.5本章小結145
第8章Spring Boot自定義Web MVC配置146
8.1 Web MVC配置簡介146
8.1.1靜態資源配置147
8.1.2攔截器配置148
8.1.3跨域配置148
8.1.4視圖控制器配置149
8.1.5消息轉換器配置150
8.1.6數據格式化器配置150
8.1.7視圖解析器配置151
8.2全局異常處理152
8.2.1使用@ControllerAdvice和@ExceptionHandler註解152
8.2.2實現HandlerExceptionResolver接口154
8.3定制Web容器157
8.4定制Spring Boot應用程序啟動Banner 158
8.5自定義註冊Servlet、Filter和Listener 161
8.5.1註冊Servlet 161
8.5.2註冊Filter 163
8.5.3註冊Listener 168
8.6本章小結169
第9章Spring Boot中的AOP編程170
9.1 Spring Boot與AOP 170
9.1.1 AOP簡介170
9.1.2 Spring AOP介紹172
9.1.3實現一個簡單的日誌切面172
9.2項目實戰:使用AOP + Filter實現登錄鑑權與權限控制175
9.2.1系統整體架構175
9.2.2創建工程176
9.2.3數據庫表結構設計177
9.2.4用戶登錄邏輯179
9.2 .5登錄態鑑權過濾器181
9.2.6 AOP實現用戶權限管理185
9.2.7用戶註冊187
9.2.8數據後端校驗188
9.3本章小結192
作者介紹
陳光劍
資深開發人員,目前就職於阿里巴巴集團,參與過多種平台工具的開發,
具有豐富的平台開發經驗,操練過Java、Android、Scala、Groovy等語言進行領域建模、
架構設計、工具開發,在工作中積累了大量經驗,善於總結,樂於分享,發布過大量技術文章。