內(nèi)容提要[1]

《從企業(yè)級開發(fā)到云原生微服務(wù):Spring Boot實戰(zhàn)》以Spring 5.2和Spring Boot 2.2為基礎(chǔ),系統(tǒng)地講解了在日常企業(yè)級開發(fā)和微服務(wù)開發(fā)中面臨的大部" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 營銷百科 > 從企業(yè)級開發(fā)到云原生微服務(wù):Spring Boot實戰(zhàn)基本

從企業(yè)級開發(fā)到云原生微服務(wù):Spring Boot實戰(zhàn)基本

時間:2023-02-15 03:57:02 | 來源:營銷百科

時間:2023-02-15 03:57:02 來源:營銷百科

從企業(yè)級開發(fā)到云原生微服務(wù):Spring Boot實戰(zhàn)基本內(nèi)容:[1]

內(nèi)容提要[1]

《從企業(yè)級開發(fā)到云原生微服務(wù):Spring Boot實戰(zhàn)》以Spring 5.2和Spring Boot 2.2為基礎(chǔ),系統(tǒng)地講解了在日常企業(yè)級開發(fā)和微服務(wù)開發(fā)中面臨的大部分的問題,如函數(shù)式編程、Spring MVC、Spring Data、Spring Security、響應(yīng)式編程、事件驅(qū)動、Spring Integration、Spring Batch、Spring Cloud、Kubernetes與微服務(wù)等。《從企業(yè)級開發(fā)到云原生微服務(wù):Spring Boot實戰(zhàn)》內(nèi)容由淺入深,適合有Java基礎(chǔ)的初級程序員學(xué)習(xí)。同時,本書還介紹了較深的理論及原理知識,可供中、高級工程師提升使用。本書講解的所有主題都附有實戰(zhàn)案例,讀者可快速將相關(guān)技術(shù)應(yīng)用于工作實踐中。[1]

目錄[1]

第 1 章 初識 Spring Boot ............................................................................................... 1

1.1 Spring Boot 概述 ............................................................................................................ 1 1.2 快速建立 Spring Boot 應(yīng)用 ........................................................................................... 2

1.2.1 安裝 Java ............................................................................................................. 2

1.2.2 使用 Spring Initializr ........................................................................................... 2

1.2.3 第一段代碼 ......................................................................................................... 3

1.3 體驗 Spring Boot ............................................................................................................ 4 1.3.1 Spring Boot 的應(yīng)用結(jié)構(gòu) ..................................................................................... 4

1.3.2 build.gradle .......................................................................................................... 5

1.3.3 QuickStartApplication ......................................................................................... 5

1.3.4 application.properties .......................................................................................... 6

1.4 小結(jié) ................................................................................................................................ 6

第 2 章 函數(shù)式編程 ........................................................................................................ 7

2.1 了解函數(shù)式編程 ............................................................................................................ 7

2.2 Lambda 表達式 .............................................................................................................. 7

2.2.1 了解Lambda 表達式 .......................................................................................... 7

2.2.2 把 Lambda 表達式作為參數(shù) .............................................................................. 8

2.3 函數(shù)接口 ........................................................................................................................ 9

2.3.1 Predicate ............................................................................................................ 10

2.3.2 Function ............................................................................................................. 12

2.3.3 Consumer .......................................................................................................... 14

2.3.4 Supplier ............................................................................................................. 14

2.3.5 Operator ............................................................................................................. 15

2.3.6 Comparator ........................................................................................................ 15

2.3.7 自定義函數(shù)接口 ............................................................................................... 16

2.4 方法引用 ...................................................................................................................... 16

2.4.1 構(gòu)造器方法引用 ............................................................................................... 16

2.4.2 靜態(tài)方法引用 ................................................................................................... 17

2.4.3 實例方法引用 ................................................................................................... 18

2.4.4 引用特定類的任意對象的方法 ....................................................................... 18

2.5 Stream ........................................................................................................................... 18

2.5.1 Stream 簡介 ....................................................................................................... 19

2.5.2 獲得 Stream ....................................................................................................... 19

2.5.3 中間操作 ........................................................................................................... 20

2.5.4 終結(jié)操作 ........................................................................................................... 23

2.6 Optional ........................................................................................................................ 27

2.6.1 獲得Optional .................................................................................................... 28

2.6.2 Optional 的用法 ................................................................................................ 28

2.7小結(jié)......................................................................................................................29

第 3 章 Spring 5.X 基礎(chǔ) ............................................................................................... 30

3.1 IoC 容器 ....................................................................................................................... 30

3.2 Spring Bean 的配置 ..................................................................................................... 31

3.2.1 注解配置(@Component) ............................................................................. 31

3.2.2 Java 配置(@Configuration 和@Bean) ........................................................ 31

3.2.3 依賴注入(Dependency Injection) ................................................................ 32

3.2.4 運行檢驗(CommandLineRunner) ............................................................... 37

3.2.5 Bean 的 Scope ................................................................................................... 38

3.2.6 Bean 的生命周期 .............................................................................................. 40

3.2.7 應(yīng)用環(huán)境 ........................................................................................................... 43

3.2.8 條件配置(@Conditional) ............................................................................ 46

3.2.9 開啟配置(@Enable*和@Import) ................................................................ 47

3.3 對 Bean 的處理(BeanPostProcessor) ...................................................................... 53

3.4 Spring Aware 容器 ....................................................................................................... 54

3.5 Bean 之間的事件通信 ................................................................................................. 57

3.6 Spring EL ...................................................................................................................... 59

3.7 AOP .............................................................................................................................. 61

3.8 注解工作原理 .............................................................................................................. 64

3.8.1 BeanPostProcessor ............................................................................................ 64

3.8.2 BeanFactoryPostProcessor ................................................................................ 66

3.8.3 使用AOP .......................................................................................................... 68

3.8.4 組合元注解 ....................................................................................................... 68

3.9小結(jié)......................................................................................................................68

第 4 章 深入 Spring Boot ............................................................................................. 69

4.1 Spring Boot 介紹 .......................................................................................................... 69

4.2 Spring Boot 的'魔法' .................................................................................................. 69

4.2.1 加載自動配置 ................................................................................................... 69

4.2.2 實現(xiàn)自動配置 ................................................................................................... 71

4.3 Spring Boot 的配置 ...................................................................................................... 73

4.3.1 應(yīng)用配置 ........................................................................................................... 74

4.3.2 修改默認配置 ................................................................................................... 76

4.3.3 外部配置 ........................................................................................................... 79

4.4 日志和報告 .................................................................................................................. 91

4.4.1 日志 ................................................................................................................... 91

4.4.2 報告 ................................................................................................................... 93

4.5 多線程任務(wù)和計劃任務(wù) .............................................................................................. 94

4.5.1 Task Executor .................................................................................................... 94

4.5.2 Task Scheduler .................................................................................................. 97

4.6 Gradle 插件 .................................................................................................................. 99

4.6.1 依賴 ................................................................................................................... 99

4.6.2 Spring Boot Starter .......................................................................................... 100

4.6.3 插件任務(wù) ......................................................................................................... 100

4.7 自定義Starter ............................................................................................................. 100

4.7.1 包裝技術(shù)庫 ..................................................................................................... 101

4.7.2 Starter 的結(jié)構(gòu) ................................................................................................. 103

4.7.3 autoconfigure 模塊 .......................................................................................... 105

4.7.4 Starter 模塊 ..................................................................................................... 107

4.7.5 使用 Starter ..................................................................................................... 108

4.8 Spring Boot Actuator .................................................................................................. 110

4.8.1 常用端點 ......................................................................................................... 110

4.8.2 自定義 ............................................................................................................. 119

4.8.3 使用 Prometheus 和Grafana 監(jiān)控指標 ......................................................... 124

4.9 小結(jié) ............................................................................................................................ 128

第 5 章 Spring Web MVC .......................................................................................... 129

5.1 Spring Web MVC 簡介 .............................................................................................. 129

5.2 用 Spring Boot 學(xué)習(xí)Web MVC ................................................................................ 129

5.2.1 核心注解 ......................................................................................................... 129

5.2.2 RESTful 服務(wù) .................................................................................................. 130

5.2.3 @ControllerAdvice ......................................................................................... 146

5.2.4 @RestControllerAdvice .................................................................................. 151

5.2.5 JSON 定制 ...................................................................................................... 156

5.2.6 RestTemplate ................................................................................................... 159

5.3 Web MVC 配置 .......................................................................................................... 161

5.3.1 Spring MVC 的工作原理 ............................................................................... 161

5.3.2 配置MVC ....................................................................................................... 161

5.3.3 Interceptor ....................................................................................................... 162

5.3.4 Formatter ......................................................................................................... 164

5.3.5 HttpMessageConverter .................................................................................... 166

5.3.6 方法參數(shù)和返回值處理設(shè)置 ......................................................................... 169

5.3.7 初始化數(shù)據(jù)綁定設(shè)置 ..................................................................................... 176

5.3.8 類型轉(zhuǎn)換原理與設(shè)置 ..................................................................................... 176

5.3.9 路徑匹配和內(nèi)容協(xié)商 ..................................................................................... 183

5.3.10 JSON ............................................................................................................. 188

5.3.11 其他外部屬性配置 ......................................................................................... 189

5.4 Servlet 容器 ................................................................................................................ 191

5.4.1 注冊 Servlet、Filter 和 Listener ..................................................................... 191

5.4.2 配置 Servlet 容器 ............................................................................................ 196

5.5 異步請求 .................................................................................................................... 202

5.5.1 Servlet 3.0 異步返回 ...................................................................................... 202

5.5.2 HTTP Streaming.............................................................................................. 206

5.5.3 HTTP/2 ............................................................................................................ 212

5.6 小結(jié) ............................................................................................................................ 214

第 6 章 數(shù)據(jù)訪問 ....................................................................................................... 215

6.1 Spring Data Repository ............................................................................................. 215

6.1.1 DDD 與 Spring Data Repository ..................................................................... 215

6.1.2 查詢方法 ......................................................................................................... 218

6.2 關(guān)系數(shù)據(jù)庫——Spring Data JPA .............................................................................. 218

6.2.1 JPA、Hibernate 和Spring Data JPA .............................................................. 218

6.2.2 環(huán)境準備 ......................................................................................................... 218

6.2.3 自動配置 ......................................................................................................... 220

6.2.4 定義聚合 ......................................................................................................... 221

6.2.5 定義聚合 Repository ...................................................................................... 224

6.2.6 查詢 ................................................................................................................. 226

6.2.7 事件監(jiān)聽 ......................................................................................................... 238

6.2.8 領(lǐng)域事件 ......................................................................................................... 242

6.2.9 審計功能 ......................................................................................................... 245

6.2.10 Web 支持 ...................................................................................................... 246

6.2.11 數(shù)據(jù)庫初始化 ............................................................................................... 248

6.3 NoSQL——Spring Data Elasticsearch ....................................................................... 252

6.3.1 Elascticsearch 簡介 ......................................................................................... 252

6.3.2 環(huán)境準備 ......................................................................................................... 252

6.3.3 自動配置 ......................................................................................................... 253

6.3.4 定義聚合 ......................................................................................................... 254

6.3.5 定義聚合 Repository ...................................................................................... 255

6.3.6 查詢 ................................................................................................................. 256

6.4 數(shù)據(jù)緩存 .................................................................................................................... 261

6.4.1 Spring Boot 與緩存......................................................................................... 261

6.4.2 環(huán)境準備 ......................................................................................................... 262

6.4.3 使用緩存注解 ................................................................................................. 264

6.5 小結(jié) ............................................................................................................................ 266

第 7 章 安全控制 ....................................................................................................... 267

7.1 Spring Security 的應(yīng)用 .............................................................................................. 267

7.1.1 Spring Boot 的自動配置 ................................................................................. 267

7.1.2 開啟Web 安全配置 ....................................................................................... 268

7.1.3 定制Web 安全配置 ....................................................................................... 268

7.1.4 Authentication ................................................................................................. 269

7.1.5 Authorization ................................................................................................... 281

7.1.6 Spring Data 集成 ............................................................................................. 294

7.2 Spring Security 實戰(zhàn) .................................................................................................. 295

7.3 OAuth 2.0 ................................................................................................................... 301

7.3.1 OAuth 2.0 Authorization Server ...................................................................... 301

7.3.2 OAuth 2.0 Resource Server ............................................................................. 310

7.3.3 OAuth 2.0 Client ............................................................................................. 317

7.4 小結(jié) ............................................................................................................................ 322

第 8 章 響應(yīng)式編程 .................................................................................................... 323

8.1 Project Reactor............................................................................................................ 323

8.1.1 Reactive Streams 的基礎(chǔ)接口 ........................................................................ 323

8.1.2 Flux 和 Mono .................................................................................................. 325

8.2 Spring WebFlux .......................................................................................................... 327

8.2.1 Spring WebFlux 基礎(chǔ) ..................................................................................... 327

8.2.2 Spring Boot 的自動配置 ................................................................................. 328

8.2.3 注解控制器 ..................................................................................................... 329

8.2.4 函數(shù)式端點 ..................................................................................................... 332

8.2.5 Spring WebFlux 的配置 ................................................................................. 334

8.3 Reactive NoSQL ......................................................................................................... 334

8.3.1 響應(yīng)式 Elasticsearch ....................................................................................... 335

8.3.2 響應(yīng)式 MongoDB ........................................................................................... 339

8.4 Reactive 關(guān)系型數(shù)據(jù)庫:R2DBC ............................................................................. 342

8.4.1 安裝 PostgreSQL ............................................................................................ 343

8.4.2 Spring Boot 的自動配置 ................................................................................. 343

8.4.3 示例 ................................................................................................................. 344

8.5 Reactive Spring Security ............................................................................................ 347

8.5.1 Reactive Spring Security 原理 ........................................................................ 347

8.5.2 Spring Boot 的自動配置 ................................................................................. 347

8.5.3 示例 ................................................................................................................. 348

8.6 小結(jié) ............................................................................................................................ 354

第 9 章 事件驅(qū)動 ....................................................................................................... 355

9.1 JMS ............................................................................................................................. 355

9.1.1 安裝Apache ActiveMQ Artemis .................................................................... 355

9.1.2 新建應(yīng)用 ......................................................................................................... 356

9.1.3 Spring Boot 的自動配置 ................................................................................. 356

9.1.4 示例 ................................................................................................................. 356

9.1.5 Topic 和 Queue ............................................................................................... 358

9.2 RabbitMQ ................................................................................................................... 360

9.3 Kafka .......................................................................................................................... 367

9.4 Websocket .................................................................................................................. 374

9.4.1 STOMP Websocket ......................................................................................... 374

9.4.2 Reactive Websocket ........................................................................................ 379

9.5 RSocket ....................................................................................................................... 382

9.5.1 新建應(yīng)用 ......................................................................................................... 382

9.5.2 Spring Boot 的自動配置 ................................................................................. 383

9.5.3 示例 ................................................................................................................. 383

9.6 小結(jié) ............................................................................................................................ 388

第 10 章 系統(tǒng)集成與批處理 ....................................................................................... 389

10.1 Spring Integration ..................................................................................................... 389

10.1.1 Spring Integration 基礎(chǔ) ................................................................................. 389

10.1.2 Spring Integration Java DSL ......................................................................... 391

10.1.3 示例 ............................................................................................................... 392

10.2 Spring Batch ............................................................................................................. 395

10.2.1 Spring Batch 的流程 ..................................................................................... 396

10.2.2 Spring Boot 的自動配置 ............................................................................... 396

10.2.3 示例 ............................................................................................................... 397

10.3 小結(jié) .......................................................................................................................... 402

第 11 章 Spring Cloud 與微服務(wù) ................................................................................ 403 11.1 微服務(wù)基礎(chǔ) .............................................................................................................. 403 11.1.1 微服務(wù)和云原生應(yīng)用 ................................................................................... 403

11.1.2 領(lǐng)域驅(qū)動設(shè)計 ............................................................................................... 404

11.2 Spring Cloud ............................................................................................................. 405

11.2.1 服務(wù)發(fā)現(xiàn) ....................................................................................................... 405

11.2.2 配置管理 ....................................................................................................... 408

11.2.3 同步服務(wù)交互 ............................................................................................... 412

11.2.4 異步服務(wù)交互 ............................................................................................... 417

11.2.5 響應(yīng)式異步交互 ........................................................................................... 427

11.2.6 應(yīng)用網(wǎng)關(guān):Spring Cloud Gateway .............................................................. 430

11.2.7 認證授權(quán) ....................................................................................................... 433

11.3 小結(jié) .......................................................................................................................... 442

第 12 章 Kubernetes 與微服務(wù) .................................................................................. 443

12.1 Kubernetes ................................................................................................................ 443

12.1.1 安裝 ............................................................................................................... 443

12.1.2 Kubernetes 基礎(chǔ)知識 .................................................................................... 445

12.1.3 Helm .............................................................................................................. 460

12.1.4 DevOps .......................................................................................................... 463

12.1.5 安裝Jenkins .................................................................................................. 464

12.1.6 微服務(wù)示例 ................................................................................................... 465

12.1.7 鏡像倉庫和 Dockerfile ................................................................................. 467

12.1.8 使用Helm 打包應(yīng)用 .................................................................................... 471

12.1.9 Jenkins 流程 .................................................................................................. 475

12.2 Service Mesh 和 Istio ............................................................................................... 481

12.2.1 安裝Istio ....................................................................................................... 482

12.2.2 微服務(wù)示例 ................................................................................................... 483

12.3 小結(jié) .......................................................................................................................... 490[1]

前言[1]

緣起

距離我的第一本書《Java EE 開發(fā)的顛覆者:Spring Boot開發(fā)》的出版已經(jīng)過去了四年,在這四年中,Spring Boot從剛開始被關(guān)注到現(xiàn)在被廣泛應(yīng)用于企業(yè)級開發(fā),我很榮幸參與了這一進程。

在這四年里,技術(shù)發(fā)生了許多的變化,微服務(wù)、云原生已經(jīng)成為技術(shù)流行詞,這也促使我們對技術(shù)的關(guān)注點從企業(yè)級開發(fā)逐漸向微服務(wù)、云原生應(yīng)用轉(zhuǎn)移。在規(guī)劃本書時,本想將其作為《Java EE開發(fā)的顛覆者:Spring Boot開發(fā)》的第二版,但最終還是以一本新書推出,原因有二:

第一,內(nèi)容完全重新編寫,全部基于Spring 5.2和Spring Boot 2.2編寫,只是部分章節(jié)名稱和第一本書相同。

第二,添加了微服務(wù)、云原生應(yīng)用方面的知識,做到讓微服務(wù)、云原生應(yīng)用落地。

第一本書收到了許多讀者的好評,這給了我很大的信心再寫一本關(guān)于最新的Spring Boot實戰(zhàn)的書籍。為了能更多地照顧到應(yīng)用開發(fā)的方方面面,最初我列出了26章,這讓本書幾乎無法完成。此時,我想起《人月神話》中的'第二系統(tǒng)效應(yīng)':在完成一個小型、優(yōu)雅而成功的系統(tǒng)之后,人們傾向于對下一個計劃有過度的期待,可能因此建造出一個巨大的、有各種特色的'怪獸系統(tǒng)'。

這正是我最初在寫作本書時的心態(tài),此時我將精力重新聚焦在Spring Boot在企業(yè)級應(yīng)用和云原生應(yīng)用,經(jīng)過近半年的努力,終于讓本書與大家見面。[1]

特色[1]

非常感謝各位讀者對我的第一本書的厚愛,期待大家同樣喜歡本書。本書特色如下:

◎由淺入深,適合初學(xué)者及各個級別的學(xué)習(xí)者學(xué)習(xí)。

◎無論是簡單的技術(shù)點,還是復(fù)雜的技術(shù)點,都配有實戰(zhàn)案例。

本書內(nèi)容

第1章初識Spring Boot。以簡單的方式新建Spring Boot應(yīng)用,讓初學(xué)者可以對Spring Boot有感性的認識。如果讀者已經(jīng)學(xué)習(xí)或使用過Spring Boot,則可快速閱讀或略過本章。

第2章函數(shù)式編程。Spring 5.X 支持的 JDK 基線版本為 8,本書中的大量代碼都涉及函

數(shù)式編程的內(nèi)容,響應(yīng)式編程更是以函數(shù)式編程為基礎(chǔ),所以學(xué)好函數(shù)式編程會給后面的學(xué)習(xí) 打下良好的基礎(chǔ)。

第3章Spring 5.X基礎(chǔ)。本章帶領(lǐng)讀者快速學(xué)習(xí) Spring 5.2常用的主要內(nèi)容,為學(xué)習(xí)和理解Spring Boot打下堅實的基礎(chǔ)。

第4章深入Spring Boot。本章首先講解Spring Boot的運行原理,然后講解Spring Boot 2.2的核心內(nèi)容。

第5章Spring Web MVC。Spring Web MVC是工程師開發(fā)工作的核心,本章從簡單應(yīng)用和深層配置等各個方面對Spring MVC進行深入的講解。

第6章數(shù)據(jù)訪問。本章講解Spring Data傘形項目,Spring Data是Spring生態(tài)中有魅力、能提高生產(chǎn)力的框架之一,它可以使用相同的編程模型對不同的數(shù)據(jù)庫技術(shù)進行開發(fā),本章包含 Spring Data JPA、Spring Data Elasticsearch和數(shù)據(jù)緩存。

第7章安全控制。Spring Security是Java EE領(lǐng)域成熟的安全解決方案,本章學(xué)習(xí)Spring Security和OAuth 2.0的應(yīng)用。

第8章響應(yīng)式編程。響應(yīng)式編程是未來幾年的技術(shù)趨勢,本章從開發(fā)的各個環(huán)節(jié)完全打通響應(yīng)式開發(fā),包含Project Reactor、Spring WebFlux、Reactive NoSQL、R2DBC和Reactive Spring Security。

第9章事件驅(qū)動。本章講解在事件驅(qū)動開發(fā)中的常用技術(shù),以達到應(yīng)用之間的松耦合,本章包含 JMS、RabbitMQ、Kafka、Websocket和RSocket。

第10章系統(tǒng)集成與批處理。本章主要講解系統(tǒng)集成框架 Spring Integration和批處理框架Spring Batch。

第11章Spring Cloud與微服務(wù)。本章講解微服務(wù)和Spring Cloud的主要知識,還特別介紹了在Spring Cloud下OAuth 2.0的使用。

第12章Kubernetes 與微服務(wù)。在微服務(wù)開發(fā)完成后,它的部署主要基于Kubernetes平臺。本章首先講解基于Kubernetes、Jenkins和Helm的部署,然后介紹服務(wù)網(wǎng)格Istio在微服務(wù)部署中的應(yīng)用。[1]

關(guān)鍵詞:微服,基本,實戰(zhàn),企業(yè)

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉