天天看點

六祎-初識Spring全家桶

本部落格僅認識Spring全家桶,由于出自課程,僅截取部分資源認識! 

六祎-初識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 個服務提供者,關系如下圖所示。

六祎-初識Spring全家桶

成果截圖

恭喜您,已看完本課程!