精通Spring Boot 2.0目錄
時(shí)間:2023-02-23 06:33:01 | 來(lái)源:營(yíng)銷百科
時(shí)間:2023-02-23 06:33:01 來(lái)源:營(yíng)銷百科
精通Spring Boot 2.0目錄:第1章 Spring Boot 2.0 1
1.1 Spring Boot概述 2
1.2 利用Spring Boot簡(jiǎn)化應(yīng)用程序開(kāi)發(fā) 3
1.3 Spring Boot中的核心組件 5
1.3.1 Spring Boot Starter 5
1.3.2 Spring Boot Starter Parent POM 7
1.3.3 Spring Boot auto-configuration 7
1.3.4 啟用Spring Boot auto-configuration 9
1.3.5 Spring Boot CLI 11
1.3.6 Spring Boot Actuator 11
1.4 設(shè)置Spring Boot工作區(qū) 12
1.4.1 利用Maven設(shè)置Spring Boot 13
1.4.2 利用Gradle設(shè)置Spring Boot 13
1.5 開(kāi)發(fā)第一個(gè)Spring Boot應(yīng)用程序 15
1.5.1 使用Web界面 15
1.5.2 利用STS IDE創(chuàng)建Spring Boot項(xiàng)目 17
1.6 實(shí)現(xiàn)REST服務(wù) 19
1.7 Spring Boot 2.0中的新特性 22
1.8 本章小結(jié) 22
第2章 定制auto-configuration 25
2.1 理解auto-configuration 26
2.2 定制Spring Boot 27
2.2.1 利用Spring Boot屬性進(jìn)行定制 27
2.2.2 替換已生成的Bean 29
2.2.3禁用特定的auto-configuration類29
2.2.4修改庫(kù)的依賴關(guān)系30
2.3基于屬性的配置外部化31
2.3.1屬性的評(píng)估順序31
2.3.2重命名Spring應(yīng)用程序中的application.properties32
2.4外部配置應(yīng)用程序?qū)傩?3
2.5基于日志記錄的調(diào)優(yōu)35
2.6YAML配置文件36
2.6.1針對(duì)屬性的YAML36
2.6.2單一YAML文件中的多個(gè)屬性37
2.7定制應(yīng)用程序錯(cuò)誤頁(yè)面37
2.8本章小結(jié)39
第3章SpringCLI和Actuator41
3.1使用SpringBootCLI41
3.1.1安裝SpringBootCLI42
3.1.2從安裝文件中手動(dòng)安裝SpringBootCLI42
3.1.3使用SDKMAN。安裝SpringBootCLI43
3.1.4利用OSXHomebrew安裝SpringBootCLI43
3.2使用Initializr44
3.3SpringBootActuator48
3.3.1在應(yīng)用程序中啟用SpringBootActuator49
3.3.2分析Actuator的端點(diǎn)49
3.3.3顯示配置細(xì)節(jié)51
3.3.4顯示指標(biāo)端點(diǎn)56
3.3.5顯示應(yīng)用程序信息57
3.3.6關(guān)閉應(yīng)用程序59
3.3.7自定義Actuator端點(diǎn)59
3.3.8創(chuàng)建一個(gè)自定義端點(diǎn)64
3.4Actuator端點(diǎn)的安全性66
3.5SpringBoot2.x中的Actuator67
3.6本章小結(jié)68
第4章SpringCloud和配置操作69
4.1原生云應(yīng)用程序架構(gòu)69
4.1.1微服務(wù)架構(gòu)71
4.1.2微服務(wù)的優(yōu)點(diǎn)72
4.1.3微服務(wù)面臨的挑戰(zhàn)73
4.2SpringCloud簡(jiǎn)介74
4.2.1云和微服務(wù)程序的構(gòu)造塊74
4.2.2SpringCloud應(yīng)用76
4.3配置SpringCloud應(yīng)用程序77
4.4創(chuàng)建配置生成器—SpringCloudConfigServer78
4.5實(shí)現(xiàn)CloudConfigServer79
4.5.1配置application.properties文件80
4.5.2創(chuàng)建Git存儲(chǔ)庫(kù)作為配置存儲(chǔ)80
4.6利用模式配置多個(gè)存儲(chǔ)庫(kù)83
4.6.1身份驗(yàn)證84
4.6.2force-pull屬性85
4.7創(chuàng)建SpringCloud客戶端85
4.8本章小結(jié)87
第5章SpringCloudNetflix和ServiceDiscovery89
5.1SpringCloudNetflix簡(jiǎn)介89
5.2微服務(wù)架構(gòu)中的ServiceDiscovery90
5.3實(shí)現(xiàn)ServiceDiscovery—EurekaServer92
5.3.1Maven構(gòu)建配置文件92
5.3.2Gradle構(gòu)建配置文件93
5.3.3啟用Eureka服務(wù)器作為DiscoveryService服務(wù)器94
5.4實(shí)現(xiàn)ServiceDiscovery—Eureka客戶端96
5.4.1添加Maven依賴關(guān)系配置96
5.4.2Gradle構(gòu)建配置98
5.5利用Eureka注冊(cè)客戶端99
5.5.1使用REST服務(wù)102
5.5.2使用EurekaClient102
5.5.3FeignClient107
5.6本章小結(jié)111
第6章構(gòu)建SpringBootRESTful微服務(wù)113
6.1基于SpringBoot的微服務(wù)113
6.1.1bootstrap.yml和application.yml簡(jiǎn)介114
6.1.2簡(jiǎn)單的微服務(wù)示例115
6.2SpringData簡(jiǎn)介128
6.2.1ApacheIgnite存儲(chǔ)庫(kù)129
6.2.2SpringDataMongoDB129
6.2.3SpringDataJPA130
6.3本章小結(jié)130
第7章利用NetflixZuul創(chuàng)建API網(wǎng)關(guān)133
7.1API網(wǎng)關(guān)模式需求133
7.1.1APIGateway模式的優(yōu)點(diǎn)135
7.1.2APIGateway的一些缺點(diǎn)135
7.1.3APIGateway模式組件135
7.2利用NetflixZuulProxy實(shí)現(xiàn)APIGateway136
7.2.1利用Maven依賴關(guān)系包含Zuul137
7.2.2啟用Zuul服務(wù)代理137
7.2.3配置Zuul屬性138
7.2.4添加過(guò)濾器141
7.3本章小結(jié)144
第8章利用Feign客戶端簡(jiǎn)化HTTPAPI145
8.1Feign基礎(chǔ)知識(shí)145
8.2在云應(yīng)用程序中包含F(xiàn)eign148
8.2.1重載Feign的默認(rèn)配置153
8.2.2創(chuàng)建Feign客戶端155
8.2.3Feign繼承機(jī)制156
8.2.4多重繼承156
8.3Feign客戶端的高級(jí)應(yīng)用157
8.4異常處理158
8.5自定義編碼器和解碼器159
8.5.1自定義編碼器160
8.5.2自定義解碼器161
8.6Feign和Hystrix161
8.7Feign客戶端單元測(cè)試163
8.8本章小結(jié)164
第9章構(gòu)建事件驅(qū)動(dòng)和異步響應(yīng)式系統(tǒng)165
9.1事件驅(qū)動(dòng)型架構(gòu)模式165
9.1.1調(diào)停者拓?fù)?65
9.1.2代理拓?fù)?66
9.2響應(yīng)式編程簡(jiǎn)介167
9.2.1SpringReactive167
9.2.2ReactiveX168
9.3命令查詢的責(zé)任分離簡(jiǎn)介168
9.3.1EventSourcing模式簡(jiǎn)介170
9.3.2最終一致性171
9.4構(gòu)建事件驅(qū)動(dòng)型響應(yīng)式異步系統(tǒng)172
9.5SpringCloudStreaming簡(jiǎn)介173
9.5.1向應(yīng)用程序中添加Kafka174
9.5.2安裝和運(yùn)行Kafka175
9.5.3Kafka配置屬性175
9.5.4用于寫入Kafka的服務(wù)176
9.5.5RestAPI控制器177
9.5.6監(jiān)聽(tīng)Kafka主題177
9.6本章小結(jié)181
第10章利用Hystrix和Turbine構(gòu)建彈性系統(tǒng)183
10.1斷路器模式184
10.2使用Hystrixlibrary186
10.3在應(yīng)用程序中配置Hystrix187
10.3.1Maven依賴關(guān)系188
10.3.2啟用斷路器188
10.3.3向服務(wù)中添加Hystrix注解189
10.3.4錯(cuò)誤傳遞192
10.4在客戶服務(wù)中實(shí)現(xiàn)REST控制器192
10.5構(gòu)建和測(cè)試客戶服務(wù)195
10.6自定義默認(rèn)的配置項(xiàng)196
10.7HystrixMetricsStream198
10.8在項(xiàng)目中實(shí)現(xiàn)HystrixDashboard199
10.9Turbine儀表盤201
10.10基于Hystrix和Feign的REST使用者204
10.11本章小結(jié)206
第11章測(cè)試SpringBoot應(yīng)用程序207
11.1測(cè)試驅(qū)動(dòng)開(kāi)發(fā)207
11.2單元測(cè)試機(jī)制208
11.2.1單元測(cè)試的優(yōu)點(diǎn)211
11.2.2單元測(cè)試的缺點(diǎn)212
11.2.3其他模擬庫(kù)212
11.3集成測(cè)試212
11.3.1Spring測(cè)試的優(yōu)點(diǎn)214
11.3.2激活測(cè)試類的配置214
11.4SpringBoot應(yīng)用程序的JUnit測(cè)試214
11.5使用Mockito模擬服務(wù)216
11.6測(cè)試RESTful服務(wù)契約的Postman217
11.7本章小結(jié)220
第12章微服務(wù)的容器化221
12.1微服務(wù)架構(gòu)的容器222
12.1.1虛擬機(jī)和容器222
12.1.2容器方案的優(yōu)點(diǎn)224
12.1.3面向容器方案的缺點(diǎn)224
12.2Docker簡(jiǎn)介225
12.2.1安裝Docker226
12.2.2在Linux上安裝Docker226
12.2.3在Windows中安裝Docker227
12.2.4Docker架構(gòu)229
12.2.5Docker引擎231
12.2.6Docker容器232
12.2.7編寫Dockerfile233
12.3Docker化SpringBoot應(yīng)用程序235
12.4利用Maven創(chuàng)建Docker鏡像239
12.5DockerCompose簡(jiǎn)介240
12.5.1安裝DockerCompose241
12.5.2使用DockerCompose242
12.5.3編寫docker-compose文件242
12.5.4基于docker-compose文件的編排操作244
12.5.5利用docker-compose和負(fù)載平衡擴(kuò)展容器247
12.6Kubernetes簡(jiǎn)介248
12.7本章小結(jié)249
第13章API管理器251
13.1API管理251
13.1.1API管理軟件的優(yōu)點(diǎn)252
13.1.2API管理工具252
13.2速率限制252
13.3KONG簡(jiǎn)介253
13.3.1基于KONG架構(gòu)的微服務(wù)RESTAPI254
13.3.2未采用KONG架構(gòu)的API應(yīng)用255
13.3.3安裝KONG255
13.3.4使用KONGAPI257
13.4Swagger265
13.4.1Swagger應(yīng)用265
13.4.2在微服務(wù)中使用Swagger266
13.4.3Swagger的優(yōu)點(diǎn)277
13.5本章小結(jié)278
第14章云部署(AWS)279
14.1AWSEC2實(shí)例279
14.2AWS上的微服務(wù)架構(gòu)284
14.3在AWSEC2上安裝Docker289
14.4在AWSEC2上運(yùn)行微服務(wù)291
14.5本章小結(jié)293
第15章生產(chǎn)服務(wù)監(jiān)視和最佳實(shí)踐295
15.1監(jiān)視容器295
15.2日志機(jī)制所面臨的挑戰(zhàn)295
15.3微服務(wù)架構(gòu)的中心日志方案297
15.3.1基于ELK棧的日志聚合299
15.3.2使用Sleuth的請(qǐng)求跟蹤306
15.3.3基于Zipkin的請(qǐng)求跟蹤310
15.4本章小結(jié)315