《Spring Boot企業級項目開發——入門到精通》是2020年華中科技大學出版社出版的圖書。
基本介紹
- 中文名:Spring Boot企業級項目開發——入門到精通
- 作者:鐘林森,羅劍
- 類別:研究生本科專科教材
- 出版社:華中科技大學出版社
- 出版時間:2020年3月1日
- 開本:16 開
- 裝幀:平裝
- ISBN:9787568041249
內容簡介,圖書目錄,作者簡介,
內容簡介
《Spring Boot企業級項目開發——入門到精通》站在初學者的角度,從零開始介紹Spring Boot的基本概念、核心特性以及在實際項目開發中的作用,帶領讀者一步一個腳印地學習並實戰Spring Boot相關核心技術以及常見的分散式中間件;除此之外,書末還重點介紹並實戰了企業中幾乎處處可見的系統——許可權管理平台,以此鞏固加深前面篇章學習的相關技術。
值得一提的是,書中在介紹Spring Boot核心技術理論知識的同時也給出了相對應的實際項目案例,並編寫了相應的代碼進行實戰實現,以此提高讀者的開發水平和項目實戰能力。
本書共10章,分為3篇。第1篇為Spring Boot基礎篇,主要介紹了Spring Boot的基本概念、技術優勢和幾大核心特性,基於Spring Boot開發套用系統時需要準備的開發環境和開發工具,並以此作為基礎搭建了入門級的Spring Boot單模組項目——Hello World 以此開啟Spring Boot的學習之旅;之後則是趁熱打鐵,先後介紹並實戰了如何在Spring Boot項目讀取各種類型的配置檔案、整合數據訪問層ORM框架Spring Data JPA/Mybatis實現對資料庫的操作、整合Spring MVC實現一個Java Web套用系統常見、常用的功能。
第2篇為Spring Boot核心技術與高級套用篇,全面介紹了目前在實際項目開發中Spring Boot常見、常用的核心技術及其對應的代碼實戰,其中主要包括檔案的上傳下載、各種類型郵件的傳送、定時任務的實現、多種方式實現Excel的導入導出等核心技術;除此之外,還重點介紹了目前市面上兩款主流的分散式中間件,包括快取中間Redis、訊息中間件RabbitMQ,介紹其基本概念、作用以及典型的套用場景,可以說為本書潤色了不少。
第3篇為Spring Boot企業項目實戰與總結篇,本篇的內容是對第1、2篇內容做的總結;重點介紹並實戰了如何基於Spring Boot搭建一個實際的企業級項目——許可權管理平台,帶領讀者從系統功能需求分析開始,到系統的整體架構設計、資料庫設計,再到系統功能模組劃分、前後端編碼開發、測試、系統安全防禦配置,後再到系統打包、部署、上線運行等一整套流程,有助於讀者切身感受企業中真實項目的整個開發上線流程。
本書特別適合Spring Boot實踐經驗為零的開發人員閱讀;有一定Java套用開發經驗的工程師,閱讀該書後可以了解Spring Boot在構建企業級套用過程中所提供的思路和解決方案,進一步了解Spring Boot底層的運行原理;IT培訓機構的學員也可以通過該書系統地學習Spring Boot相關的核心技術。
顯示部分信息
圖書目錄
第1篇Spring Boot基礎篇
第1章走進Spring Boot
1.1Spring Boot概述/003
1.1.1Spring Boot簡介/003
1.1.2Spring Boot的優勢/003
1.1.3Spring Boot的幾大核心特性/004
1.2開發環境準備/004
1.2.1學習Spring Boot的前提與開發環境和工具/004
1.2.2基於Spring Initializr構建單模組項目/005
1.2.3寫個Hello World吧/007
1.2.4單模組項目的優缺點/008
1.3Spring Boot多模組項目的搭建/009
1.3.1基於Maven構建多模組項目的規範/009
1.3.2基於Maven構建多模組項目的流程/009
1.3.3寫個Hello World吧/014
1.4Spring Boot原理初步分析/015
1.4.1Spring Boot起步依賴/016
1.4.2Spring Boot自動裝配/018
1.4.3Spring Boot啟動執行流程/019
第2章Spring Boot基礎配置詳解
2.1Spring Boot單元測試與熱載入/023
2.1.1單元測試簡介與使用/023
2.1.2基於Devtools實現Spring Boot項目熱載入/025
2.2Spring Boot全局配置檔案詳解/028
2.2.1Spring Boot兩大默認配置檔案介紹/028
2.2.2基於Environment讀取配置檔案/029
2.2.3基於@Value讀取配置檔案/030
2.2.4基於@ConfigurationProperties映射配置檔案/031
2.3Spring Boot自定義配置詳解/033
2.3.1基於@PropertySource載入配置檔案/034
2.3.2基於@ImportResource載入XML配置檔案/035
2.3.3基於@Configuration編寫自定義配置類/037
2.4Spring Boot多環境配置詳解/039
2.4.1為什麼需要多環境配置?/039
2.4.2多環境配置實戰/039
第3章Spring Boot數據訪問層實戰
3.1基於Spring JdbcTemplate搭建數據訪問層/044
3.1.1數據訪問層與Spring JdbcTemplate簡介/044
3.1.2Spring Boot整合JdbcTemplate實現CRUD/044
3.1.3實戰案例測試/048
3.2基於Mybatis搭建數據訪問層/051
3.2.1Mybatis簡介/052
3.2.2Spring Boot整合與配置Mybatis/052
3.2.3Spring Boot整合Mybatis實現CRUD/053
3.2.4實戰案例測試與總結/057
3.3基於Spring Data JPA搭建數據訪問層/060
3.3.1Spring Data JPA簡介/061
3.3.2Spring Boot整合與配置Spring Data JPA/061
3.3.3Spring Boot整合Spring Data JPA實現CRUD/062
3.3.4實戰案例測試/066
第4章Spring Boot實現Web常用功能
4.1整合Spring MVC實現Web常用功能/073
4.1.1Spring MVC簡介與執行流程/073
4.1.2Java Web常見的模板引擎/075
4.1.3Thymeleaf配置與常見用法/077
4.2基於SSM實戰用戶信息管理/081
4.2.1資料庫表設計/081
4.2.2業務邏輯處理層代碼實戰/083
4.2.3前端代碼實戰與測試一/086
4.2.4前端代碼實戰與測試二/089
第2篇Spring Boot核心技術與高級套用篇
第5章Spring Boot核心技術之上傳下載、傳送郵件與定時任務
5.1檔案的上傳與下載/094
5.1.1Lombok簡介與實戰/094
5.1.2檔案上傳與下載開發流程介紹/097
5.1.3基於Java IO實戰實現檔案上傳/098
5.1.4基於Java IO實戰實現檔案下載/100
5.1.5基於Java NIO實戰實現檔案上傳/103
5.1.6基於Java NIO實戰實現檔案下載/105
5.2傳送郵件與定時任務實戰/108
5.2.1基於Spring Boot整合與配置起步依賴/108
5.2.2基於Spring Boot實現簡單文本郵件的傳送/109
5.2.3基於Spring Boot實現富文本郵件的傳送/112
5.2.4基於Spring Boot實現帶附屬檔案郵件的傳送/114
5.2.5定時任務與@Scheduled註解實戰/117
5.2.6基於Java執行緒池高效執行多個定時任務/119
第6章Spring Boot核心技術之導入導出Excel
6.1典型套用場景介紹/125
6.2Excel導出實戰/127
6.2.1Excel導出開發流程詳解/127
6.2.2基於POI實現Excel的導出/128
6.2.3基於EasyExcel實現Excel的導出/132
6.3Excel導入實戰/135
6.3.1Excel導入開發流程詳解/135
1366.3.2基於POI實現Excel的導入/
6.3.3基於EasyExcel實現Excel的導入/139
6.3.4兩種實現方式的對比/142
第7章快取中間件Redis實戰
7.1Redis簡介與典型套用場景/145
7.2使用Redis/146
7.2.1快速安裝Redis/146
7.2.2在Windows環境下使用Redis/147
7.2.3Spring Boot 2.0整合與配置Redis/150
7.2.4自定義注入與配置Redis模板操作組件Bean/151
7.2.5RedisTemplate實戰/152
7.2.6StringRedisTemplate實戰/154
7.3Redis常見數據結構/157
7.3.1字元串String/157
7.3.2列表List/158
7.3.3集合Set/160
7.3.4有序集合SortedSet/161
7.3.5哈希Hash存儲/163
7.3.6Key失效與判斷是否存在/165
7.4Redis訊息訂閱發布機制/167
7.4.1訊息訂閱發布機制簡介/167
7.4.2Spring Boot整合Redis實現訊息訂閱發布/169
7.4.3接口功能測試/172
7.5Redis實戰場景之快取擊穿/172
7.5.1什麼是快取擊穿/173
7.5.2快取擊穿的解決方案/173
7.4.3代碼實戰之並發場景復現/174
7.5.4代碼實戰之分散式鎖/180
7.6Redis實戰場景之快取穿透/184
7.6.1什麼是快取穿透/184
7.6.2快取穿透的解決方案/185
7.6.3代碼實戰實現過程/186
7.6.4其他典型的問題/188
第8章訊息中間件RabbitMQ實戰
8.1RabbitMQ為何物/190
8.1.1RabbitMQ簡介/190
8.1.2常見的套用場景/191
8.1.3安裝RabbitMQ與Web管理界面介紹/196
8.1.4RabbitMQ入門代碼實戰/196
8.2Spring Boot整合RabbitMQ/201
8.2.1RabbitMQ專用組件介紹/201
8.2.2Spring Boot整合RabbitMQ/202
8.2.3自定義注入RabbitMQ操作組件/203
8.2.4傳送接收訊息實戰/204
8.3基於RabbitMQ多種交換器的訊息模型實戰/208
8.3.1基於FanoutExchange的訊息模型實戰/208
8.3.2基於DirectExchange的訊息模型實戰/213
8.3.3基於TopicExchange的訊息模型實戰/216
8.4典型套用場景實戰之異步傳送郵件/221
8.4.1整體業務流程介紹與分析/221
8.4.2資料庫表設計與Mybatis逆向工程/222
8.4.3基於DirectExchange的訊息模型傳送接收郵件/223
8.4.4業務場景功能接口測試/226
8.5RabbitMQ死信佇列與延遲佇列/227
8.5.1簡介、作用與典型套用場景/227
8.5.2RabbitMQ死信佇列之訊息模型/229
8.5.3RabbitMQ死信佇列代碼實戰/231
8.5.4RabbitMQ延遲佇列之訊息模型/235
8.5.5RabbitMQ延遲佇列代碼實戰/238
8.5.6RabbitMQ死信佇列與延遲佇列對比/241
第3篇Spring Boot企業項目實戰與總結篇
第9章企業項目開發實戰之許可權管理平台
9.1企業許可權管理平台整體介紹/246
9.1.1許可權管理簡介與系統整體介紹/246
9.1.2資料庫表設計與Mybatis逆向工程/249
9.1.3項目整體搭建流程介紹/255
9.1.4用戶認證與授權框架Shiro簡介/261
9.2用戶登錄功能實戰/262
9.2.1整體開發流程介紹/263
9.2.2驗證碼組件配置與生成圖形驗證碼/264
9.2.3開發Controller接收用戶登錄請求/266
9.2.4整合Shiro完成用戶的登錄功能/267
9.3部門與選單模組開發實戰/271
9.3.1相關資料庫表介紹/272
9.3.2部門模組實戰之列表數據獲取/273
9.3.3基於treeGrid實現頁面布局與列表展示/277
9.3.4新增與修改部門功能實戰/279
9.3.5選單模組實戰之列表數據獲取/286
9.3.6基於treeGrid實現頁面布局與列表展示/290
9.3.7新增與修改選單功能實戰/292
9.4角色與用戶模組開發實戰/301
9.4.1相關資料庫表介紹/301
9.4.2角色模組實戰之列表數據獲取/304
9.4.3新增與修改角色功能實戰/308
9.4.4用戶模組實戰之列表數據獲取/316
9.4.5新增與修改用戶功能實戰/320
9.4.6許可權控制實戰/329
9.5系統安全性防護、日誌存儲與部署上線/338
9.5.1系統安全性防護之XSS攻擊和SQL注入防禦/338
9.5.2日誌存儲的必要性與日誌列表展示/344
9.5.3基於Spring AOP與自定義註解實現日誌存儲/347
9.5.4項目部署上線/352
後記 總結與回顧
作者簡介
鐘林森 網名debug,Java高級後端工程師。目前在國內某網際網路公司擔任開發組長,負責公司Java套用後端開發,並參與公司IT基礎架構體系的研發。CSDN部落格專家,發表了大量的原創部落格文字,部落格訪問量達百萬人次。51CTO學院、CSDN學院及網易雲課堂等知名教育平台講師,教授學員上萬人。追求技術,熱愛分享,相信技術改變生活,技術成就夢想,一直在不斷地學習和積累新知識,秉承修羅之道,花名阿修羅。