Spring Boot Starter 和 ABP Module

Spring Boot 和 ABP 都是模組化的系統,分別是Java 和.NET 可以對比的框架。模組系統是就像樂高玩具一樣,一塊一塊零散積木堆積起一個精彩的世界。每種積木的形狀各不相同,功能各不相同,積木與積木直接互相依賴,互相支撐。

Spring Boot Starter是Spring Boot中的一個非常重要的概念,Starter相當於模組,它能將模組所需的依賴整合起來並對模組內的Bean根據環境( 條件)進行自動配置。使用者只需要依賴相應功能的Starter,無需做過多的配置和依賴,Spring Boot就能自動掃描並載入相應的模組。

ABP Module是ABP框架體系很重要的概念,不同的功能組件包括項目之間都是以模組的形式進行關聯的。使用者只需要依賴相應功能的Module,無需做過多的配置和依賴,ABP就能自動掃描並載入相應的模組。

在 Abp vNext 框架當中,模組按照功能用途劃分為兩種類型的模組。第一種是 框架模組,它是框架的核心模組,比如快取、EF Core 等基礎設施就屬於框架模組,其模組的邏輯與處理基本都在傳統的三個生命周期進行處理。在我們的 services.AddApplication() 階段就已經完成所有初始化,可以給 應用程式模組 提供服務。第二種則是 應用程式模組,這種模組則是實現了特定的業務/功能,例如身份管理、租戶管理等,而新增加的四個生命周期基本是為這種類型的模組服務的。

Spring Boot Starter 和 ABP Module的相同之處:

  • 它整合了這個模組需要的依賴庫;
  • 提供對模組的配置項給使用者;
  • 提供自動配置類對模組內的Bean(組件)進行自動裝配;
  • 它有效的降低了項目開發過程的複雜程度,對於簡化開發操作有著非常好的效果;

相關鏈接:

Spring Boot: //spring.io/projects/spring-boot 

ABP://abp.io/