- Spring核心技術和案例實戰
- 鄭天民
- 2303字
- 2023-06-21 18:56:25
前言
在當下的互聯網應用中,業務體系日益復雜,同時業務功能的發展往往還伴隨著不斷的變化。以典型的電商類應用為例,其承載的業務功能復雜度以及快速迭代的開發要求,對比5年前的同類業務系統,面臨著諸多新的挑戰。這些挑戰中的核心點就是“要快”。如何快速、高效地實現系統功能,又要保證代碼持續可維護,成為一個非常現實且亟待解決的問題。
面對這樣的挑戰,需要強調一點,就是保持開發過程的簡單性,而這種簡單性很大程度上取決于開發框架。對于Java EE領域而言,Spring無疑是主流的開發框架。Spring是一個集成的開源框架,內部整合了很多第三方組件和框架。事實上,Spring自身的功能特性同樣非常豐富,而且在使用上也存在一些最佳實踐。
本書主要介紹基于Spring框架構建企業級應用程序的技術體系和工程實踐。本書圍繞日常開發過程中所涉及的各種開發需求,討論了Spring框架所提供的各項解決方案,包括使用Spring Boot開發Web應用程序、使用Spring Cloud開發微服務系統,以及使用Spring 5和響應式編程技術開發響應式系統。同時,本書將基于這些技術體系構建3個完整的案例系統并給出具體的實現過程和示例代碼。本書共有19章內容。
第1章,直面Spring。本章作為開篇總領全書,從Spring框架的基本概念出發,引出Spring家族生態和技術體系,以及框架所提供的整體定位和解決方案。本章圍繞Spring所具備的各項功能,從Spring Boot與Web應用程序、Spring Cloud與微服務架構、Spring 5與響應式編程等維度切入,分別討論針對不同應用場景的技術體系。
第2章,Spring Boot配置體系。本章將介紹Spring Boot中的自動配置解決方案,以及如何使用該配置體系來實現復雜的多維配置以及定制化配置。
第3章,Spring Boot數據訪問。本章將介紹Spring Boot提供的針對關系數據庫的一系列數據訪問組件。同時,也將提供對Spring Data這個統一的數據訪問抽象框架的全面介紹。
第4章,Spring Boot Web服務。本章將介紹基于Spring Boot構建一個Web服務的系統方法,以及如何實現多個Web服務之間的交互和集成。
第5章,Spring Boot消息通信。本章將介紹消息通信的基本概念,以及如何基于Spring Boot所提供的模板工具類完成與Kafka、ActiveMQ、RabbitMQ等多款主流消息中間件的集成。
第6章,Spring Boot系統監控。本章將介紹Spring Boot中即插即用的服務監控技術組件。Spring Boot內置的各種度量指標、監控端點和可視化管理功能是該框架的亮點。
第7章,SpringCSS:Spring Boot案例實戰。本章將基于完整的案例給出Spring Boot各個技術組件的具體應用方式和過程,其中既涉及單個服務的構建方式,也涉及多個服務之間的交互和集成。本章將針對技術組件給出詳細的示例代碼,并提供能夠直接應用于日常開發的實戰技巧。
第8章,Spring Cloud注冊中心。本章將介紹服務治理的解決方案,以及使用Eureka來構建注冊中心服務器/客戶端組件的方法和實現原理。同時,也將結合注冊中心介紹使用Ribbon實現客戶端負載均衡的方法。
第9章,Spring Cloud服務網關。本章將介紹服務網關的構建方式,并給出Spring Cloud Gateway這款典型的服務網關的使用方法和工作機制。
第10章,Spring Cloud服務容錯。本章將介紹服務容錯思想和模式,并介紹Spring Cloud Circuit Breaker與Hystrix、Resilience4J等熔斷器的集成。
第11章,Spring Cloud配置中心。本章將介紹分布式環境下的配置中心解決方案,并介紹如何基于Spring Cloud Config實現配置中心服務器的構建,以及客戶端組件的集成。
第12章,Spring Cloud消息通信。本章將介紹基于Spring Cloud Stream實現消息發布者和消費者的開發方法,并基于Spring Cloud Stream基本架構剖析其集成Rabbit、Kafka等主流消息中間件的實現過程。
第13章,Spring Cloud服務監控。本章將介紹Spring Cloud Sleuth的基本原理,以及基于Spring Cloud Sleuth與Zipkin實現可視化監控的整合過程,同時給出基于Tracer在訪問鏈路中創建自定義跟蹤信息的實現方法。
第14章,SpringHealth:Spring Cloud案例實戰。本章將基于案例幫助讀者全面梳理基于Spring Cloud的微服務系統開發技術組件。通過完整的案例系統,給出各個組件的具體應用方式和過程,并提供能夠直接應用于日常開發的實戰技巧。
第15章,響應式編程基礎。本章將介紹響應式系統和響應式編程的基本概念以及應用場景,并分析響應式編程模型所包含的響應式流和背壓機制,這是實現系統彈性的關鍵。
第16章,Project Reactor。本章將介紹目前業界領先的響應式編程框架Project Reactor,它有多種組合方式和完善的異常處理機制,以及面對背壓時的處理機制、重試機制。
第17章,WebFlux和RSocket。本章將介紹如何使用Spring中全新的Web開發框架WebFlux來構建響應式RESTful服務,如何使用WebClient工具類來調用響應式服務以及如何使用全新的RSocket協議來實現網絡通信中的響應式數據傳輸。
第18章,響應式Spring Data。本章將討論如何構建響應式數據訪問層,介紹如何使用Spring Data Reactive組件來實現這一目標。MongoDB和Redis都內置了支持響應式數據訪問的驅動程序。另外,傳統的JDBC并不支持響應式編程模式,但Spring家族也專門提供了Spring Data R2DBC框架來解決這一問題。
第19章,ReactiveSpringCSS:響應式Spring案例實戰。本章將提供一個 ReactiveSpringCSS案例來貫穿整個學習過程,內容涉及響應式Web、響應式數據訪問、響應式消息通信等主題。在介紹每個主題時,本章會為案例系統添加相應的功能特性。通過完整的案例系統,本章會給出各個組件的具體應用方式和過程,并提供能夠直接應用于日常開發的實戰技巧。
以上19章內容可以分成4篇,其中第1章作為獨立的開篇,對Spring框架進行了概述;第2~7章是Spring Boot篇,第8~14章是Spring Cloud篇,而第15~19章則是響應式編程篇。基于這4篇內容,本書對Spring的技術體系和核心組件進行了全面且系統的闡述,本書主要面向廣大服務端開發人員以及對Spring框架有興趣的開發人員。
感謝我的家人,特別是我的妻子章蘭婷女士,對我因撰寫本書而大量占用晚上和周末時間的情況,能夠給予極大的支持和理解。感謝前公司以及現公司的同事,身處業界領先的公司和團隊,我得到很多學習和成長的機會。沒有大家平時的幫助,就不可能有這本書的誕生。感謝拉勾教育,感謝人民郵電出版社的武曉燕編輯,這本書能夠順利出版,離不開大家的幫助。
由于作者水平和經驗有限,書中難免有欠妥和錯誤之處,懇請讀者批評指正。
鄭天民
- 摩登創客:與智能手機和平板電腦共舞
- Mastering QGIS
- 名師講壇:Spring實戰開發(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- INSTANT Passbook App Development for iOS How-to
- Swift細致入門與最佳實踐
- Mastering openFrameworks:Creative Coding Demystified
- Unity 2018 Shaders and Effects Cookbook
- Scratch3.0趣味編程動手玩:比賽訓練營
- JavaScript機器人編程指南
- 創意UI Photoshop玩轉移動UI設計
- .NET 4.0面向對象編程漫談:應用篇
- 實驗編程:PsychoPy從入門到精通
- Java EE項目應用開發
- JSP應用與開發技術(第3版)
- 樹莓派開發從零開始學:超好玩的智能小硬件制作書