《Spring Boot從入門到實(shí)戰(zhàn)》從Spring Boot的特性與基本原理講起,逐步深入到Spring Boot與其他微服務(wù)開發(fā)組件的集成使用,并在后配合實(shí)際的項(xiàng)目案例,重點(diǎn)講解Spring Boot的微服務(wù)開發(fā),能夠讓讀者全面、系統(tǒng)地學(xué)習(xí)Spring Boot開發(fā)的相關(guān)知識(shí),并且對(duì)微服務(wù)應(yīng)用開發(fā)有更深入的理解。
《Spring Boot從入門到實(shí)戰(zhàn)》共12章,涵蓋的主要內(nèi)容有:Spring Boot框架基礎(chǔ)及IoC與AOP原理;Spring MVC基礎(chǔ)知識(shí);Spring Boot的搭建與配置;Spring Boot的數(shù)據(jù)訪問,包括MySQL、Redis和MongoDB等多種數(shù)據(jù)庫(kù)的集成;配置中心與服務(wù)發(fā)現(xiàn),重點(diǎn)講解Nacos等組件;服務(wù)限流與降級(jí),重點(diǎn)講解Sentinel組件的搭建與配置;全鏈路追蹤系統(tǒng);微服務(wù)監(jiān)控,講解Spring Boot Actuator等工具的使用;API網(wǎng)關(guān),重點(diǎn)介紹Spring Cloud網(wǎng)關(guān)提供的相關(guān)斷言配置;Spring Boot測(cè)試與部署;Spring Boot微服務(wù)開發(fā)和Spring WebFlux實(shí)戰(zhàn)開發(fā),全面展示微服務(wù)的開發(fā)過程。
《Spring Boot從入門到實(shí)戰(zhàn)》內(nèi)容通俗易懂,案例豐富,實(shí)用性強(qiáng),特別適合Spring Boot入門和進(jìn)階讀者閱讀,也適合從事Java微服務(wù)開發(fā)的程序員和其他編程愛好者閱讀。另外,本書還適合作為相關(guān)培訓(xùn)機(jī)構(gòu)的教材。
結(jié)合典型業(yè)務(wù)場(chǎng)景,全面介紹基于Spring Boot的核心開發(fā)技術(shù)
整合開源組件,一步一步地搭建微服務(wù)框架,實(shí)現(xiàn)微服務(wù)治理
詳解60多個(gè)示例、2個(gè)綜合項(xiàng)目案例,提高讀者的實(shí)戰(zhàn)能力
由淺入深:從基本概念和原理講起,逐步深入核心技術(shù),后進(jìn)行實(shí)戰(zhàn)演練。
實(shí)用性強(qiáng):從實(shí)際的開發(fā)場(chǎng)景出發(fā),結(jié)合典型實(shí)例與綜合項(xiàng)目案例進(jìn)行講解。
講解詳細(xì):詳解重要的知識(shí)點(diǎn),并給出每個(gè)實(shí)例和項(xiàng)目案例的詳細(xì)實(shí)現(xiàn)步驟。
技術(shù)前瞻:引入微服務(wù)治理的第三方開源組件,整合微服務(wù)開發(fā)模式。
Spring是一款優(yōu)秀的Java開發(fā)框架。隨著技術(shù)的發(fā)展,該框架越來越強(qiáng)大,可以集成各種第三方插件,極大地方便了企業(yè)級(jí)應(yīng)用開發(fā)。Spring是一款開源框架,其社區(qū)可以持續(xù)貢獻(xiàn)代碼,并可為各大互聯(lián)網(wǎng)公司提供基礎(chǔ)服務(wù)。Spring框架非常靈活,隨著發(fā)展又先后演化出Spring Boot和Spring Cloud等優(yōu)秀框架。Spring Boot通過注解方式完成自動(dòng)配置,可以開箱即用,大大精簡(jiǎn)了代碼,讓開發(fā)者更加關(guān)注于業(yè)務(wù)開發(fā)。同時(shí),Spring Boot集成了大量的第三方工具包,提供了Template類,抽象了通用的方法,并提供了內(nèi)嵌容器,還提供了Spring Boot Actuator以對(duì)應(yīng)用進(jìn)行監(jiān)控及健康檢查?偠灾琒pring Boot的誕生極大地降低了開發(fā)難度和開發(fā)者的工作量。
目前,市場(chǎng)上Spring Boot開發(fā)類書籍還不多,容易入門和實(shí)用性強(qiáng)的更少,因此筆者編寫了《Spring Boot從入門到實(shí)戰(zhàn)》,希望能給Spring Boot入門者提供一些學(xué)習(xí)上的幫助。本書首先介紹Spring Boot的特性和基本原理,然后重點(diǎn)介紹Spring Boot與其他微服務(wù)開發(fā)組件的集成使用,后介紹實(shí)際項(xiàng)目案例的開發(fā),以提高讀者的實(shí)際開發(fā)水平。
《Spring Boot從入門到實(shí)戰(zhàn)》特色
? 本書內(nèi)容由淺入深,覆蓋Spring Boot框架的基本原理和核心技術(shù),對(duì)于初學(xué)者來說,比較容易入門。
? 本書配合相關(guān)的代碼示例進(jìn)行知識(shí)點(diǎn)講解,可以讓讀者更加直觀地了解相關(guān)技術(shù)。
? 本書詳細(xì)介紹Spring Boot整合第三方開源組件的相關(guān)知識(shí),并配合實(shí)戰(zhàn)案例詳細(xì)介紹微服務(wù)開發(fā)的原理,實(shí)用性非常強(qiáng),對(duì)提高讀者的開發(fā)水平有很大的幫助。
《Spring Boot從入門到實(shí)戰(zhàn)》內(nèi)容
第1章介紹Spring框架的發(fā)展歷史和基礎(chǔ)特性,以及IoC與AOP的實(shí)現(xiàn)原理。
第2章介紹Spring MVC框架處理請(qǐng)求的流程及核心DispatcherServlet,并通過示例展示Spring MVC處理請(qǐng)求的核心注解與配置。
第3章介紹Spring Boot的特性及運(yùn)行原理,并通過多個(gè)示例展現(xiàn)Spring Boot配置使用上的便利性。
第4章介紹Spring Boot如何通過配置文件集成MySQL、Redis、MongoDB及Couchbase等多種類型的數(shù)據(jù)庫(kù)。
第5章介紹配置中心與服務(wù)發(fā)現(xiàn)組件的相關(guān)知識(shí),其中重點(diǎn)介紹XXL-CONF、Apollo及Nacos組件的使用。
第6章介紹服務(wù)限流與降級(jí)組件的相關(guān)知識(shí),包括流行的Hystrix和Sentinel組件,其中重點(diǎn)介紹Sentinel的搭建與配置。
第7章介紹全鏈路追蹤系統(tǒng)的相關(guān)知識(shí),包括Zipkin、Pinpoint及Skywalking等全鏈路追蹤系統(tǒng)的原理及其與Spring Boot的集成使用。
第8章介紹微服務(wù)監(jiān)控管理的相關(guān)知識(shí),包括Spring Boot Actuator、Micrometer、Prometheus和Grafana工具的使用。
第9章介紹API網(wǎng)關(guān)的相關(guān)知識(shí),并重點(diǎn)介紹Spring Cloud網(wǎng)關(guān)提供的相關(guān)斷言配置。
第10章介紹Spring Boot測(cè)試與部署的相關(guān)知識(shí)。
第11章通過一個(gè)實(shí)際項(xiàng)目,全面展示Spring Boot微服務(wù)開發(fā)的全過程。
第12章介紹Spring 5提供的Spring WebFlux框架,并對(duì)第11章的微服務(wù)進(jìn)行重構(gòu),展示Spring WebFlux的開發(fā)流程。
讀者對(duì)象
? Spring Boot入門人員;
? Spring Boot開發(fā)人員;
? Spring Cloud微服務(wù)開發(fā)人員;
? Spring框架開發(fā)人員;
? Spring Boot框架愛好者;
? Java應(yīng)用開發(fā)人員;
? 高校學(xué)習(xí)Java開發(fā)的學(xué)生;
? Java培訓(xùn)班的學(xué)員。
配書資源獲取方式
《Spring Boot從入門到實(shí)戰(zhàn)》涉及的所有源代碼需要讀者自行下載。請(qǐng)?jiān)谌A章公司的網(wǎng)站(www.hzbook.com)上搜索到《Spring Boot從入門到實(shí)戰(zhàn)》,然后單擊資料下載按鈕,即可在本書頁(yè)面上找到下載鏈接。
……
解承凱 現(xiàn)任職于北京愛奇藝公司,從事高并發(fā)接口編程工作。有多年的Java應(yīng)用開發(fā)經(jīng)驗(yàn)和微服務(wù)編程經(jīng)驗(yàn),熟悉微服務(wù)治理等相關(guān)技術(shù),經(jīng)歷了從Spring 4到Spring 5的發(fā)展過程,對(duì)Spring Cloud及Spring Boot等流行框架有較為深入的研究。
前言
第1章 Spring框架基礎(chǔ) 1
1.1 Spring簡(jiǎn)介 1
1.1.1 Spring的發(fā)展歷史 1
1.1.2 Spring的特性 2
1.1.3 Spring的體系結(jié)構(gòu) 3
1.2 控制反轉(zhuǎn) 6
1.2.1 IoC和DI簡(jiǎn)介 6
1.2.2 元數(shù)據(jù)配置 7
1.2.3 Bean管理 12
1.3 面向切面編程 14
1.3.1 代理模式 14
1.3.2 AOP中的術(shù)語(yǔ) 18
1.3.3 @AspectJ注解 20
1.3.4 基于XML配置的AOP 21
1.3.5 基于@Aspect注解的AOP 23
1.4 總結(jié) 25
第2章 Spring MVC基礎(chǔ) 26
2.1 Spring MVC簡(jiǎn)介 26
2.1.1 Spring MVC的工作流程 26
2.1.2 DispatcherServlet類 27
2.1.3 HandlerInterceptor攔截器 29
2.2 Spring MVC注解 30
2.2.1 請(qǐng)求注解 30
2.2.2 參數(shù)注解 31
2.2.3 異常注解 32
2.2.4 跨域注解 32
2.2.5 請(qǐng)求跳轉(zhuǎn) 33
2.3 總結(jié) 34
第3章 Spring Boot基礎(chǔ) 35
3.1 Spring Boot簡(jiǎn)介 35
3.1.1 Spring Boot的特性 35
3.1.2 快速創(chuàng)建Spring Boot應(yīng)用 36
3.1.3 Spring Boot Starter簡(jiǎn)介 37
3.2 Spring Boot的運(yùn)行原理 40
3.2.1 SpringApplication啟動(dòng)類 40
3.2.2 @SpringBootApplication注解 44
3.3 Spring Boot的配置文件 45
3.3.1 默認(rèn)配置文件 45
3.3.2 多環(huán)境配置 46
3.3.3 配置注解 46
3.4 測(cè)試與部署 48
3.4.1 測(cè)試 48
3.4.2 打包 49
3.5 總結(jié) 50
第4章 Spring Boot之?dāng)?shù)據(jù)訪問 51
4.1 訪問SQL數(shù)據(jù)庫(kù) 51
4.1.1 JdbcTemplate模板類 51
4.1.2 Spring Data JPA組件 56
4.1.3 Spring Boot集成MyBatis 59
4.2 訪問NoSQL數(shù)據(jù)庫(kù) 61
4.2.1 訪問Redis 61
4.2.2 訪問MongoDB 63
4.3 Caching緩存 64
4.3.1 訪問EhCache 64
4.3.2 訪問Couchbase 65
4.4 遠(yuǎn)程調(diào)用 66
4.4.1 調(diào)用RestTemplate 66
4.4.2 調(diào)用WebClient 67
4.5 總結(jié) 69
第5章 配置中心與服務(wù)發(fā)現(xiàn) 70
5.1 配置中心組件 70
5.2 服務(wù)注冊(cè)與發(fā)現(xiàn) 81
5.3 Nacos組件 84
5.4 總結(jié) 91
第6章 服務(wù)限流與降級(jí) 92
6.1 限流 92
6.2 Hystrix組件 95
6.3 Sentinel組件 99
6.4 Nacos集成Sentinel配置 108
6.5 總結(jié) 109
第7章 全鏈路追蹤系統(tǒng) 110
7.1 全鏈路追蹤系統(tǒng)簡(jiǎn)介 110
7.2 開源的全鏈路追蹤系統(tǒng) 113
7.3 全鏈路追蹤系統(tǒng)實(shí)踐 117
7.4 總結(jié) 120
第8章 微服務(wù)監(jiān)控管理 121
8.1 Spring Boot Actuator組件 121
8.2 Micrometer工具 124
8.3 Prometheus工具 127
8.4 Grafana工具 132
8.5 總結(jié) 136
第9章 Spring Cloud網(wǎng)關(guān) 137
9.1 API網(wǎng)關(guān) 137
9.2 核心配置 139
9.3 總結(jié) 148
第10章 Spring Boot測(cè)試與部署 149
10.1 Spring Boot測(cè)試 149
10.2 Spring Boot部署 155
10.3 總結(jié) 156
第11章 Spring Boot微服務(wù)開發(fā)實(shí)例 157
11.1 項(xiàng)目描述 157
11.2 數(shù)據(jù)結(jié)構(gòu) 158
11.3 項(xiàng)目開發(fā) 160
11.4 總結(jié) 185
第12章 Reactive Web開發(fā)實(shí)戰(zhàn) 186
12.1 Reactive編程 186
12.2 Spring WebFlux框架 192
12.3 Spring WebFlux實(shí)戰(zhàn) 197
12.4 總結(jié) 210