本部落格僅認識Spring全家桶,由于出自課程,僅截取部分資源認識!
認識一下即将要學習的全家桶成員
- Spring Framework
Spring Framework 就是我們通常所說的 Spring 架構,它是一個軟體設計架構層面的架構,為基于 Java 的企業級應用程式提供了一套标準流程和配置模型,可部署在任何類型的平台上。Spring 優勢在于為開發者提供了應用級别的基礎結構支援,實作應用層面的解耦合,允許開發者自主選擇相關元件,開發者隻需專注于業務邏輯的開發,不需要關注特定的部署環境。
- Spring Web MVC
Spring Web MVC(官方名稱)就是我們通常所說的 Spring MVC,它是 Spring Framework 中的一個子產品,是 Spring Framework 在 Web 領域實作 MVC 設計模式的具體方案,主要是基于 DispatcherServer 的前端路由處理和 ViewResolver 視圖解析器來簡化開發者的工作效率。
- Spring Boot
Spring Boot 是目前 Spring 全家桶系列中最流行的一個産品,在 Spring 官網的介紹排在第一位,可見對其重視程度,Spring 官方對 Spring Boot 的描述是“build anything”,翻譯過來是建構任何事物,這樣一個非常簡單的描述将 Spring Boot 的特點展現的淋漓盡緻,即通過 Spring Boot 可以快速建構一個基于 Spring 的獨立生存級别的應用程式,開發者直接運作程式即可,無需處理各種繁瑣的配置檔案。簡單了解,Spring Boot 就是為了讓開發者快速啟動和運作 Spring 應用程式而設計的。
- Spring Cloud
Spring 官方對 Spring Cloud 的描述是“coordinate anything”,翻譯過來是協調任何事物,通過這個描述可以明确 Spring Cloud 并不是為了實作某個業務子產品而存在的,它是一個集大成者,将分布式系統開發中常用的子產品進行整合,如服務注冊、服務發現、配置管理、熔斷器、控制總線等,基于 Spring Boot 形成一套架構體系,開箱即用,使得開發者可以快速實作分布式、微服務應用。
- Spring Data
Spring Data 是 Spring 提供的持久層産品,主要功能是為應用程式中的資料通路提供統一的開發模型,同時保留不同資料存儲的特殊性,并且這套開發模式是基于 Spring 的。根據不同類型的資料存儲類型又可分為 Spring Data JDBC、Spring Data JPA、Spring Data Redis、Spring Data MongoDB 等,适用于關系型資料庫和非關系型資料庫。
- Spring Security
Spring Security 是 Spring 提供的一個功能強大的安全架構,為 Java 應用程式提供授權功能,通過定制身份驗證來實作對于通路權限的控制,Spring Security 的特點在于擴充性好,可以根據具體的業務需求來實作定制驗證服務。
課程入口:學習者需要具備哪些條件
雖然這門課程我力圖做到通俗易懂、深入淺出,讓讀者可以更加輕松地掌握所有技能,但是畢竟寫的是企業級開發架構課程,還是需要讀者具備一定基礎的,比如:
- 熟練掌握 Java 核心基礎
- 熟練掌握 Java Web 後端開發技術
- 對 Spring 架構有基本的了解
- 渴望全面提高自己的程式設計能力
課程環境參數
- macOS Mojave 10.14.5
- JDK 10.0.1
- Maven 3.6.1
- Tomcat 9.0.8
- IntelliJ IDEA 2019.1
- Spring Boot 2.1.5
- Spring Framework 5.1.7
- Spring Cloud Finchley.RELEASE
- MySQL 8.0.11
- MongoDB 4.0.0
- Redis 4.0.10
- Nginx 1.16.0
- RabbitMQ 3.7.10
課程出口:Spring Cloud 微服務項目實戰
本套課程以開發一個基于 Spring Cloud 的分布式微服務項目為輸出結果,如果最終能順利完成,那麼恭喜你,本課程的核心内容已經完全掌握了,如果暫時不能獨立完成,那也沒關系,繼續學習就對了,我會幫助你盡快完成課程出口目标。
來看看我們要做一個什麼樣的項目,使用 Layui + Spring Cloud + MyBatis + MySQL 的技術選型完成外賣訂餐系統,旨在通過這個項目讓大家真正掌握 Spring Cloud 各個元件在實際開發中的使用。
本項目分為用戶端和背景管理系統兩個界面:
- 用戶端針對普通使用者,功能包括使用者登入、使用者退出、菜品訂購、我的訂單;
- 背景管理系統針對管理者,功能包括管理者登入、管理者退出、添加菜品、查詢菜品、修改菜品、删除菜品、訂單處理、添加使用者、查詢使用者、删除使用者。
系統架構設計配置設定出 4 個服務提供者:account、menu、order、user。
- account 提供賬戶服務:使用者和管理者登入。
- menu 提供菜品服務:添加菜品、查詢菜品、修改菜品、删除菜品。
- order 提供訂單服務:添加訂單、查詢訂單、删除訂單、處理訂單。
- user 提供使用者服務:添加使用者、查詢使用者、删除使用者。
接下來配置設定出 1 個服務消費者,包括用戶端的前端頁面和背景接口、背景管理系統的前端頁面和背景接口,使用者 / 管理者直接通路的資源都儲存在服務消費者中,然後服務消費者調用 4 個服務提供者對應的接口完成業務邏輯,并通過 Feign 實作負載均衡。
4 個服務提供者和 1 個服務消費者都需要在注冊中心進行注冊,同時要注冊配置中心,提供遠端配置資訊讀取,服務提供者和服務消費者的配置資訊儲存在 Git 遠端倉庫,由配置中心負責拉取。
本系統共由 8 個子產品組成,包括注冊中心、配置中心、Git 倉庫配置資訊、服務消費者、4 個服務提供者,關系如下圖所示。
成果截圖