diff --git a/README.md b/README.md index 30cc388d9bb021b397087da4198d1081d09ba3ad..82938119e2be5410b1ba4ee9109842c9ce796e01 100644 --- a/README.md +++ b/README.md @@ -27,13 +27,13 @@ The framework can be developed in the `spring-boot` project plugin, plugin can b 5. Self-developed class loader, support plugin definition of a variety of dependent 'jar' packages. 6. Various frameworks and their various `spring-boot-xxx-starter` can be integrated in plugins, such as integration: `mybatis`、`mybatis-plus`、`spring-jpa` etc. -### Architecture -![architecture.png](img/architecture.png) ### Environment 1. jdk1.8+d 2. apache maven 3.6+ 3. spring-boot 2.3.1 ~ 2.7.6 +### Architecture +![architecture.png](img/architecture.png) ### Doc - [https://www.yuque.com/starblues/spring-brick-3.0.0](https://www.yuque.com/starblues/spring-brick-3.0.0) diff --git a/README_zh.md b/README_zh.md index 836db3ebf3998b5567859ab57f900f95839fbe1b..fcd08f208b5b2860d1bcf62815d38e417a9a906e 100644 --- a/README_zh.md +++ b/README_zh.md @@ -4,12 +4,12 @@ ### 背景 | Background 在当下后端市场,还是以`spring-boot`为核心框架进行系统开发,本框架可以在`spring-boot`系统上进行插件式的开发,将插件当做一个`mini`版本的`spring-boot`进行系统扩展开发,可以解决如下痛点: -1. 在`To-B`系统场景中,不同甲方会有不同的需求,在不打分支和改动系统核心代码的前提下,可以在插件中进行扩展开发特定功能,不同甲方使用不同插件,完美解决非核心系统的扩展功能开发。 -2. 在`To-C`系统场景中,可以在主程序通过定义`java-interface`,在插件中做不同实现,来达到动态扩展系统功能。 -3. 在开发中,由于引入了不同版本的依赖,导致系统无法运行,本框架可以完美解决在不同插件中定义不同版本的依赖,从底层进行隔离,以解决引入不同版本依赖冲突的问题。比如可以解决同一个程序同时连接`mysql-5`和`mysql-8`版本数据库。 -4. 在开发中,不同插件依赖不同框架的功能,可以按需引入。比如在插件A引入连接`mysql`、在插件B引入连接`elasticsearch`、在插件C引入连接`oracle`。 -5. 在插件中,可以任意集成不同的非`web`类型的`springboot-xx-starter`,然后将不同插件功能组装起来,以达到一个统一对外提供服务的完整系统,实现系统组装化、插拔化开发。 -6. 在不重启主程序的前提下,对插件进行动态的安装、卸载。 +1. 在`To-B`系统场景中,不同甲方会有不同的需求,在不打分支和改动系统核心代码的前提下,可以在插件中进行扩展开发特定功能,不同甲方使用不同插件,**完美解决非核心系统的扩展功能开发**,例如扩展中台系统的不同需求。 +2. 在`To-C`系统场景中,可以在主程序通过定义`java-interface`,在插件中做不同实现,来达到**动态扩展系统功能**。 +3. 在开发中,由于引入了不同版本的依赖,导致系统无法运行,本框架可以完美**解决在不同插件中定义不同版本的依赖**,从底层进行隔离,以解决引入不同版本依赖冲突的问题。比如可以解决同一个程序同时连接`mysql-5`和`mysql-8`版本数据库。 +4. 在开发中,**不同插件依赖不同框架的功能**,可以按需引入。比如在插件A引入连接`mysql`、在插件B引入连接`elasticsearch`、在插件C引入连接`oracle`。 +5. 在插件中,可以任意集成不同的非`web`类型的`springboot-xx-starter`,然后将不同插件功能组装起来,以达到一个统一对外提供服务的完整系统,**实现系统组装化、插拔化开发**。 +6. 在不重启主程序的前提下,对插件进行**动态的安装、卸载、启动、停止**。 ### 介绍 | Intro 该框架可以在`spring-boot`项目上开发出插件功能,在插件中可以和`spring-boot`使用方式一模一样。使用了本框架您可以实现如下需求: @@ -23,8 +23,6 @@ - 插件也可以不依赖主程序独立集成微服务模块。 - 您可以丰富想象该框架给您带来哪些迫切的需求和扩展,以实现系统的**低耦合、高内聚、可扩展**的优点。 -### 架构 | Architecture -![architecture.png](img/architecture.png) ### 特性 | Features 1. 简化了框架的集成步骤,更容易上手。 2. 插件开发更加贴近`spring-boot`原生开发。 @@ -34,10 +32,13 @@ 生产打包:将插件打包成一个`jar`、`zip`、`文件夹`等。 -6. 自主的开发的类加载器,支持插件定义各种的依赖`jar`包。 -7. 在插件中可以集成各种框架及其各种`spring-boot-xxx-starter`,比如集成`mybatis`、`mybatis-plus`、`spring-jpa`等。 -8. 动态安装、卸载、启动、停止插件。 -9. 主程序和插件类隔离, 有效避免主程序与插件、插件与插件之间的类冲突。 +5. 自主的开发的类加载器,支持插件定义各种的依赖`jar`包。 +6. 在插件中可以集成各种框架及其各种`spring-boot-xxx-starter`,比如集成`mybatis`、`mybatis-plus`、`spring-jpa`等。 +7. 动态安装、卸载、启动、停止插件。 +8. 主程序和插件类隔离, 有效避免主程序与插件、插件与插件之间的类冲突。 +### 架构 | Architecture +![architecture.png](img/architecture.png) + ### 运行环境 | Runtime Environment 1. jdk1.8+ 2. apache maven 3.6+