Spring Boot企業(yè)級項目開發(fā)實戰(zhàn)
定 價:89.8 元
- 作者:張科編著
- 出版時間:2022/3/1
- ISBN:9787111405245
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP312.8JA
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
隨著互聯(lián)網(wǎng)的發(fā)展,越來越來的企業(yè)采用Spring Boot來完成Web項目的開發(fā)。本書專門為Spring Boot企業(yè)項目開發(fā)者量身定制,內(nèi)容涉及Spring Boot的理論基礎(chǔ)、源碼解析和項目開發(fā)中的各種技巧。
本書分為10章。第1章介紹Spring、Spring MVC的理論基礎(chǔ),同時搭建Spring開發(fā)環(huán)境;第2章介紹Spring Boot入門知識,包括Restful API、Jersey、Postman、Swagger2 UI和Lombok等;第3章介紹Spring Data JPA和Validate等;第4章介紹使用Spring Boot進行Web開發(fā)的具體方法,另外還會介紹Redis的使用;第5章介紹Spring Security的原理;第6章介紹Spring Boot框架的擴展,包括日志、定時任務(wù)、郵件的發(fā)送、Web Service和Web Socket等;第7章介紹單元測試、集成測試和性能測試等;第8章介紹Jeecg Boot的功能、環(huán)境、配置和源碼等;第9章是項目實戰(zhàn),全面展示一個銷售管理系統(tǒng)的完整開發(fā)過程;第10 章介紹項目的打包、熱部署和監(jiān)控等。
本書內(nèi)容翔實,示例豐富,適合基礎(chǔ)較為薄弱的Spring Boot項目開發(fā)人員閱讀,也適合SpringBoot技術(shù)愛好者作為參考書,另外還可作為高等院校計算機及相關(guān)專業(yè)的教材。
一線開發(fā)人員項目開發(fā)經(jīng)驗的總結(jié),專為Spring Boot企業(yè)項目開發(fā)者定制,多角度、多層次、全流程學(xué)習(xí)Spring Boot,涉及理論基礎(chǔ)、源碼解析和項目開發(fā)技巧,多位大咖力薦。
多角度學(xué)習(xí)Spring Boot,涵蓋設(shè)計思想、組件功能和源碼解析;
多層次學(xué)習(xí)Spring Boot,涵蓋開發(fā)、測試、安全、擴展、部署和監(jiān)控;
全流程學(xué)習(xí)Spring Boot,涵蓋Maven搭建、數(shù)據(jù)庫設(shè)計、數(shù)據(jù)持久化和打包部署。
Java一直是非常流行的編程語言,很多企業(yè)都選擇使用Java進行企業(yè)級應(yīng)用開發(fā),尤其是大型項目的開發(fā)。伴隨著Java 17的發(fā)布,其在開發(fā)方面讓開發(fā)者越來越得心應(yīng)手。由于Java的廣泛應(yīng)用,相關(guān)的開發(fā)框架越來越多,如Spring MVC+Spring+MyBatis(SSM)組合框架,這些框架可以幫助開發(fā)者極大地提高開發(fā)效率。但SSM這類框架的搭建和配置過程煩瑣,開發(fā)者在搭建框架時通常需要對不同的框架進行集成和配置,然后啟動項目進行測試訪問,后才能進行項目的業(yè)務(wù)代碼開發(fā),整個過程非常耗時、耗力。Spring Boot的出現(xiàn)讓開發(fā)者從這個煩瑣的過程中解放出來,從而將更多的時間用在代碼設(shè)計上。因此,Spring Boot一面世就得到廣大開發(fā)者的熱烈響應(yīng),人們紛紛轉(zhuǎn)為使用Spring Boot進行開發(fā)。
目前市面上有很多介紹Spring Boot 1.x的圖書,但缺少介紹Spring Boot 2.x的相關(guān)圖書,尤其缺少介紹Spring Boot 2.x開發(fā)原理及使用Spring Boot 2.x進行企業(yè)級項目開發(fā)的圖書。本書基于新發(fā)布的Spring Boot 2.x深入介紹其各個組件的用法,另外還介紹使用Spring Boot 2.x開發(fā)一個應(yīng)用項目的完整過程,幫助讀者全面、透徹地理解Spring Boot 2.x的相關(guān)技術(shù),提升開發(fā)水平,從而更加高效地完成項目開發(fā)。
本書特色
1.理論知識結(jié)合實踐代碼,學(xué)習(xí)效果好
本書貫徹理論結(jié)合實踐的講解方式,先講解理論知識,讓讀者知道所講技術(shù)的由來和原理,然后給出實踐代碼,讓讀者在理解理論的基礎(chǔ)上進行實踐,從而達(dá)到較好的學(xué)習(xí)效果。
2.涵蓋Spring Boot企業(yè)級項目開發(fā)的大部分技術(shù)
本書涵蓋Spring Boot企業(yè)級項目開發(fā)的各方面知識,重點介紹Maven項目的搭建、Jersey Restful風(fēng)格、Postman測試接口、Swagger2可視化文檔、Lombok優(yōu)雅編碼、Redis緩存、Security安全機制、Web Service服務(wù)、Web Socket通信、性能測試、集成測試、Jeecg Boot快速開發(fā)框架、使用Docker進行項目部署、使用spring-boot-devtools進行熱部署、使用Actuator進行監(jiān)控等,這些內(nèi)容在大部分的Spring Boot入門圖書中都不會重點介紹。
3.詳解Spring Boot Web開發(fā)的相關(guān)組件
本書詳細(xì)介紹使用Spring Boot進行Web開發(fā)的各個常用組件的相關(guān)知識,涉及Spring MVC、Thymeleaf模板引擎、文件上傳、過濾器、監(jiān)聽器、攔截器、Redis的使用和異常處理等內(nèi)容,全面覆蓋實際開發(fā)需求。
4.精講Spring Boot的擴展知識,提高開發(fā)效率
本書對Spring Boot的各項擴展知識做了必要介紹,幫助讀者應(yīng)對開發(fā)中的特殊需求,從而快速完成業(yè)務(wù)代碼的開發(fā)。
5.詳解真實項目案例開發(fā)的完整流程
本書第9章詳細(xì)介紹一個真實項目案例的開發(fā)過程,展示其從需求分析到系統(tǒng)設(shè)計,再到技術(shù)選型和數(shù)據(jù)庫設(shè)計,后到項目編碼工作的完整流程,幫助讀者提升實際項目開發(fā)水平。
本書內(nèi)容
第1章 Spring和Spring MVC基礎(chǔ)知識
本章詳細(xì)介紹Spring的功能模塊、優(yōu)點及其生態(tài)圈的現(xiàn)狀,Spring開發(fā)環(huán)境的搭建,Eclipse和IntelliJ IDEA簡單項目的開發(fā),項目構(gòu)建工具Maven的安裝和使用,以及Spring注解和Spring MVC原理等。
第2章 Spring Boot從零入門
本章詳細(xì)介紹Spring Boot的基礎(chǔ)配置及其對多環(huán)境配置文件的支持,Restful API的構(gòu)建,Postman接口訪問和測試,使用Swagger2 UI生成API接口文檔,以及Lombok插件的相關(guān)知識等。
第3章 數(shù)據(jù)持久化
本章詳細(xì)介紹Spring Data JPA的原理,用Spring Data JPA連接MySQL數(shù)據(jù)庫并對其進行增、刪、改、查,Spring Boot Validate參數(shù)校驗,以及JPA與SQL語句的自動生成等。
第4章 Spring Boot的Web應(yīng)用開發(fā)
本章詳細(xì)介紹Thymeleaf模板引擎的使用,常見的過濾器、監(jiān)聽器和攔截器的原理及其使用方法,項目開發(fā)中的異常處理,以及Redis的安裝和使用等。
第5章 Spring Boot的Security安全控制
本章詳細(xì)介紹如何在Spring Boot中集成Spring Security進行項目安全控制和授權(quán)控制,涵蓋Spring Security的原理、驗證機制及其在企業(yè)級開發(fā)中的使用,以及Spring Data JPA和MyBatis數(shù)據(jù)庫訪問等相關(guān)知識。
第6章 Spring Boot擴展
本章詳細(xì)介紹項目中的日志管理,Log4j2日志的輸出和格式化,定時任務(wù)開發(fā),郵件的發(fā)送,Web Service及Web Socket的原理和使用等。
第7章 項目測試
本章詳細(xì)介紹如何在Spring Boot項目中使用JUnit進行單元測試,使用Mockito進行對象的Mock測試,使用@SpringBootTest注解進行集成測試,并介紹性能測試的種類、衡量指標(biāo)和實施步驟等。
第8章 Spring Boot項目快速開發(fā)框架Jeecg Boot
本章詳細(xì)介紹項目快速開發(fā)框架Jeecg Boot的功能、前后端開發(fā)環(huán)境、技術(shù)棧、功能模塊、配置文件、數(shù)據(jù)庫訪問及其在Web開發(fā)中需要用到的各類功能控制器等。
第9章 Spring Boot項目開發(fā)實戰(zhàn)——銷售管理系統(tǒng)
本章詳細(xì)介紹使用Spring Boot開發(fā)一個銷售管理系統(tǒng)的完整過程,涵蓋系統(tǒng)設(shè)計、數(shù)據(jù)庫設(shè)計、項目框架搭建和功能實現(xiàn)幾個模塊。
第10章 Spring Boot項目部署與監(jiān)控
本章詳細(xì)介紹項目開發(fā)完成后的一些工作,包括Spring Boot項目的打包部署和監(jiān)控管理工具Actuator的具體使用。
讀者對象
* 需要全面學(xué)習(xí)Java Web開發(fā)的人員;
* Spring Boot項目開發(fā)人員;
* Web開發(fā)程序員;
* Java程序員;
* Java EE開發(fā)工程師;
* 想提高項目開發(fā)水平的人員;
* 專業(yè)培訓(xùn)機構(gòu)的學(xué)員;
* 高校相關(guān)專業(yè)的學(xué)生。
配書資源獲取方式
本書涉及的所有源代碼需要讀者自行下載。請在機械工業(yè)出版社華章分社的網(wǎng)站(www.hzbook.com)上搜索到本書,然后單擊“資料下載”按鈕,即可在本書頁面上找到下載鏈接進行下載。
售后支持
讀者閱讀本書時若有疑問,可以發(fā)送電子郵件到hzbook2017@163.com獲得幫助。另外,書中若有疏漏和不當(dāng)之處,也請讀者及時反饋,以便后期修訂。
致謝
歷經(jīng)半年的努力,終于完成了本書的創(chuàng)作。在此過程中,妻子程程給了我很大的鼓勵,在此特別感謝她!另外,也把本書送給我未來的寶寶,希望他(她)將來健康快樂!后感謝讀者朋友們選擇了本書,技術(shù)的學(xué)習(xí)永無止境,讓我們共同成長吧!
張科
本書特色
多角度:涵蓋設(shè)計思想、組件功能、源碼解析和開發(fā)技巧;
多層次:涵蓋開發(fā)、測試、安全、擴展、部署和監(jiān)控;
多示例:詳解100多個示例和1個完整的大型項目案例;
全流程:涵蓋Maven搭建、數(shù)據(jù)庫設(shè)計、數(shù)據(jù)持久化和項目打包部署。
前言
第1章 Spring和Spring MVC基礎(chǔ)知識1
1.1 揭開Spring的面紗1
1.1.1 Spring的功能模塊1
1.1.2 Spring的7大優(yōu)點2
1.1.3 Spring的生態(tài)圈3
1.2 搭建Spring開發(fā)環(huán)境3
1.2.1 Maven的優(yōu)勢和標(biāo)準(zhǔn)目錄結(jié)構(gòu)4
1.2.2 Maven的下載和安裝5
1.2.3 搭建Eclipse開發(fā)環(huán)境6
1.2.4 搭建IntelliJ IDEA開發(fā)環(huán)境8
1.2.5 實戰(zhàn):個Hello World項目9
1.3 Spring常用注解介紹12
1.4 簡析Spring MVC的請求流程13
1.5 小結(jié)14
第2章 Spring Boot從零入門15
2.1 為什么使用Spring Boot15
2.2 實戰(zhàn):創(chuàng)建個Spring Boot項目16
2.3 Spring Boot項目的一些基礎(chǔ)配置18
2.3.1 判斷一個項目是否為Spring Boot項目18
2.3.2 自定義啟動Banner19
2.3.3 多環(huán)境配置19
2.3.4 其他配置21
2.4 構(gòu)建Restful API21
2.4.1 Restful架構(gòu)風(fēng)格21
2.4.2 認(rèn)識Jersey Restful22
2.4.3 實戰(zhàn):Jersey Restful與Spring Boot集成23
2.5 接口測試24
2.5.1 實戰(zhàn):使用Postman測試接口25
2.5.2 認(rèn)識Swagger2 UI28
2.5.3 實戰(zhàn):項目集成Swagger2實現(xiàn)可視化接口29
2.6 使用Lombok來優(yōu)雅地編碼33
2.6.1 認(rèn)識Lombok插件33
2.6.2 安裝Lombok插件33
2.6.3 實戰(zhàn):使用Lombok插件36
2.7 小結(jié)41
第3章 數(shù)據(jù)持久化42
3.1 認(rèn)識Spring Data JPA與ORM42
3.2 Spring Boot Validate參數(shù)校驗42
3.2.1 傳統(tǒng)的if…else校驗43
3.2.2 實戰(zhàn):現(xiàn)代的Spring Boot Validate校驗44
3.2.3 Validate校驗常用的注解46
3.3 實戰(zhàn):使用Spring Data JPA保存數(shù)據(jù)47
3.4 JPA與SQL語法50
3.5 小結(jié)51
第4章 Spring Boot的Web應(yīng)用開發(fā)52
4.1 Spring Boot對Web開發(fā)的支持52
4.2 模板引擎53
4.2.1 為什么放棄JSP模板引擎54
4.2.2 選擇Thymeleaf模板引擎55
4.2.3 實戰(zhàn):使用Thymeleaf模板引擎55
4.2.4 簡介:Thymeleaf的基礎(chǔ)語法57
4.3 文件上傳59
4.3.1 實戰(zhàn):使用J2EE實現(xiàn)文件上傳59
4.3.2 解析文件上傳的源碼61
4.4 過濾器、監(jiān)聽器和攔截器64
4.4.1 過濾器、監(jiān)聽器和攔截器簡介64
4.4.2 過濾器與攔截器的區(qū)別65
4.4.3 實戰(zhàn):使用過濾器過濾請求信息65
4.4.4 實戰(zhàn):使用攔截器處理請求信息67
4.4.5 事件的發(fā)布和監(jiān)聽70
4.5 異常的處理74
4.5.1 異常的分類75
4.5.2 @ControllerAdvice和@ExceptionHandler的使用75
4.5.3 實戰(zhàn):統(tǒng)一異常處理76
4.6 Web緩存利器Redis的應(yīng)用79
4.6.1 Redis的應(yīng)用場景79
4.6.2 Redis的安裝和使用80
4.6.3 Redis的命令80
4.6.4 實戰(zhàn):在Spring Boot項目中集成Redis83
4.7 小結(jié)85
第5章 Spring Boot的 Security安全控制86
5.1 認(rèn)識Spring Security86
5.2 應(yīng)用Spring Security87
5.2.1 實戰(zhàn):Spring Security入門87
5.2.2 Spring Security適配器92
5.2.3 實戰(zhàn):用戶授權(quán)96
5.2.4 Spring Security核心類97
5.2.5 Spring Security的驗證機制98
5.3 企業(yè)項目中的Spring Security操作99
5.3.1 實戰(zhàn):基于JPA的Spring Boot Security操作100
5.3.2 實戰(zhàn):基于MyBatis的Spring Boot Security操作109
5.4 小結(jié)112
第6章 Spring Boot擴展113
6.1 日志管理114
6.1.1 常用的日志框架114
6.1.2 日志的輸出級別116
6.1.3 實戰(zhàn):日志管理之使用AOP記錄日志117
6.1.4 實戰(zhàn):日志管理之自定義Appender124
6.2 定時任務(wù)128
6.2.1 實現(xiàn)定時任務(wù)的5種方式128
6.2.2 實戰(zhàn):基于JDK方式實現(xiàn)簡單定時128
6.2.3 實戰(zhàn):基于Spring Task實現(xiàn)定時任務(wù)131
6.2.4 實戰(zhàn):基于Quartz實現(xiàn)定時調(diào)度132
6.3 發(fā)送郵件135
6.3.1 SMTP與發(fā)送一封郵件的步驟135
6.3.2 實戰(zhàn):使用Java Mail發(fā)送郵件136
6.3.3 實戰(zhàn):Spring Boot集成郵件發(fā)送140
6.3.4 擴展知識——郵件格式143
6.4 應(yīng)用Web Service143
6.4.1 Web Service簡介143
6.4.2 Spring Web Service簡介145
6.4.3 實戰(zhàn):Spring Web Service服務(wù)端發(fā)布項目146
6.4.4 實戰(zhàn):Spirng Web Service客戶端調(diào)用項目149
6.5 應(yīng)用Web Socket155
6.5.1 Web Socket簡介155
6.5.2 Web Socket的屬性和方法157
6.5.3 實戰(zhàn):Web Socket通信158
6.6 小結(jié)164
第7章 項目測試166
7.1 單元測試166
7.1.1 為什么要做單元測試166
7.1.2 單元測試有哪些內(nèi)容167
7.1.3 常規(guī)的JUnit測試168
7.1.4 Mock測試174
7.2 集成測試179
7.2.1 集成測試自動配置179
7.2.2 測試Spring MVC入口180
7.3 性能測試185
7.3.1 性能測試的