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: https://spring.io/projects/spring-boot
ABP:https://abp.io/