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