diff --git a/README_zh.md b/README_zh.md
index 37e1827a06a4fe86b49fb5bd0764b83dd8be6911..7b14600a2608a4fb2278163715df4ae49e67d42a 100644
--- a/README_zh.md
+++ b/README_zh.md
@@ -2,7 +2,14 @@
- 全新`3.0.0`版本上线啦,为动态扩展系统而生的框架。
-**当前alpha测试版本暂未将依赖包上传到远程仓库, 使用时, 暂可下载源码, 在本地编译后进行尝鲜!!!**
+### 背景
+在当下后端市场,还是以`SpringBoot`为核心框架进行系统开发,本框架可以在`SpringBoot`系统上进行插件式的开发,将插件当做一个`mini`版本的`SpringBoot`进行系统扩展开发,可以解决如下痛点:
+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. 在不重启主程序的前提下,对插件进行动态的安装、卸载。
### 介绍
该框架可以在`SpringBoot`项目上开发出插件功能,在插件中可以和`SpringBoot`使用方式一模一样。使用了本框架您可以实现如下需求:
diff --git a/pom.xml b/pom.xml
index 5df6ef751672a1a156a381adfc09d971f543fd07..4847d111bc7296a71288fe4cc467b8cd5b75f303 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,26 +11,65 @@
com.gitee.starblues
- springboot-plugin-framework-parent
+ spring-brick-parent
pom
- 3.0.0-alpha
-
- spring boot 插件开发集成包
+ 3.0.0
- spring-plugin-framework-common
- springboot-plugin-framework-loader
- springboot-plugin-framework
- springboot-plugin-bootstrap
- springboot-plugin-maven-packager
+ spring-brick-common
+ spring-brick-loader
+ spring-brick
+ spring-brick-bootstrap
+ spring-brick-maven-packager
1.8
UTF-8
3.8.1
+
+ 3.1.0
+ 3.1.0
+ 3.1.0
+ 1.6
+
+
+ The Apache Software License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+ repo
+
+
+
+
+ https://gitee.com/starblues/springboot-plugin-framework-parent
+ scm:https://gitee.com/starblues/springboot-plugin-framework-parent.git
+ scm:https://gitee.com/starblues/springboot-plugin-framework-parent.git
+ 1.0
+
+
+
+
+ sonatype-nexus-snapshots
+ oss Snapshots Repository
+ https://oss.sonatype.org/content/repositories/snapshots
+
+
+ sonatype-nexus-staging
+ oss Staging Repository
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+
+
+
+ StarBlues
+ starblues@foxmail.com
+ https://gitee.com/starblues/
+
+
+
@@ -42,8 +81,77 @@
${java.version}
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ ${maven-source-plugin.version}
+
+
+ package
+
+ jar-no-fork
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ ${maven-javadoc-plugin.version}
+
+ ${plugin.skip}
+
+
+
+ package
+
+ jar
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ ${maven-gpg-plugin.version}
+
+ ${plugin.skip}
+
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+
+
+
+ dev
+
+ true
+
+
+ true
+
+
+
+
+ release
+
+ false
+
+
+
+
+
\ No newline at end of file
diff --git a/springboot-plugin-bootstrap/pom.xml b/spring-brick-bootstrap/pom.xml
similarity index 77%
rename from springboot-plugin-bootstrap/pom.xml
rename to spring-brick-bootstrap/pom.xml
index 85dfe0e4bd1c86623a4a6bff638a3f0435606e9b..45d8b2eae1672249fe32db34623a6f63f4327cd0 100644
--- a/springboot-plugin-bootstrap/pom.xml
+++ b/spring-brick-bootstrap/pom.xml
@@ -2,14 +2,17 @@
+ 4.0.0
+
- springboot-plugin-framework-parent
+ spring-brick-parent
com.gitee.starblues
- 3.0.0-alpha
+ 3.0.0
- 4.0.0
- springboot-plugin-bootstrap
+ spring-brick-bootstrap
+ jar
+
插件引导模块
@@ -17,7 +20,7 @@
UTF-8
3.8.1
- 3.0.0-alpha
+ 3.0.0
1.9.6
1.7.7
@@ -40,18 +43,18 @@
slf4j-api
${slf4j.version}
-
- com.fasterxml.jackson.core
- jackson-databind
- ${jackson.version}
-
com.gitee.starblues
- springboot-plugin-framework
- ${springboot-plugin-framework}
+ spring-brick
+ ${project.version}
provided
true
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
org.springframework.boot
spring-boot
@@ -82,18 +85,4 @@
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${maven-compiler-plugin.version}
-
- ${java.version}
- ${java.version}
-
-
-
-
-
\ No newline at end of file
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigureMainPluginEnvironment.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigureMainPluginEnvironment.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigureMainPluginEnvironment.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigureMainPluginEnvironment.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigurePluginEnvironment.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigurePluginEnvironment.java
similarity index 96%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigurePluginEnvironment.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigurePluginEnvironment.java
index ea0bae35e67f405b9ce38ab00208b56bf10e89b6..c159c6e9b470648b34f8885e72c18d9f2c539328 100644
--- a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigurePluginEnvironment.java
+++ b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/ConfigurePluginEnvironment.java
@@ -73,8 +73,8 @@ class ConfigurePluginEnvironment {
env.put(SPRING_JMX_UNIQUE_NAMES, true);
env.put(SPRING_ADMIN_JMX_NAME, SPRING_ADMIN_JMX_VALUE + pluginId);
env.put(REGISTER_SHUTDOWN_HOOK_PROPERTY, false);
- env.put(MBEAN_DOMAIN_PROPERTY_NAME, null);
- environment.getPropertySources().addLast(new MapPropertySource(PLUGIN_PROPERTY_NAME, env));
+ env.put(MBEAN_DOMAIN_PROPERTY_NAME, pluginId);
+ environment.getPropertySources().addFirst(new MapPropertySource(PLUGIN_PROPERTY_NAME, env));
if(processorContext.runMode() == ProcessorContext.RunMode.ONESELF){
ConfigureMainPluginEnvironment configureMainPluginEnvironment =
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/DefaultSpringPluginHook.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/DefaultSpringPluginHook.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/DefaultSpringPluginHook.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/DefaultSpringPluginHook.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/EmptyMainApplicationContext.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/EmptyMainApplicationContext.java
similarity index 90%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/EmptyMainApplicationContext.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/EmptyMainApplicationContext.java
index 7b677469853cd105b387772ae95b1a7ed59e9497..53a55368e9971b990a1ed3c039d4ede5e69f721f 100644
--- a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/EmptyMainApplicationContext.java
+++ b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/EmptyMainApplicationContext.java
@@ -24,6 +24,7 @@ import org.springframework.beans.factory.ObjectProvider;
import org.springframework.core.ResolvableType;
import java.lang.annotation.Annotation;
+import java.util.Collections;
import java.util.Map;
import java.util.Set;
@@ -45,4 +46,9 @@ public class EmptyMainApplicationContext implements MainApplicationContext {
public void close() throws Exception {
}
+
+ @Override
+ public Map> getConfigurableEnvironment() {
+ return Collections.emptyMap();
+ }
}
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/EmptySpringBeanFactory.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/EmptySpringBeanFactory.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/EmptySpringBeanFactory.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/EmptySpringBeanFactory.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginApplicationContext.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginApplicationContext.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginApplicationContext.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginApplicationContext.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginListableBeanFactory.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginListableBeanFactory.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginListableBeanFactory.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginListableBeanFactory.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginOneselfInteractive.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginOneselfInteractive.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginOneselfInteractive.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginOneselfInteractive.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginSpringApplication.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginSpringApplication.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginSpringApplication.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/PluginSpringApplication.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/SpringPluginBootstrap.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/SpringPluginBootstrap.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/SpringPluginBootstrap.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/SpringPluginBootstrap.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/annotation/DisablePluginWeb.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/annotation/DisablePluginWeb.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/annotation/DisablePluginWeb.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/annotation/DisablePluginWeb.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/annotation/OneselfConfig.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/annotation/OneselfConfig.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/annotation/OneselfConfig.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/annotation/OneselfConfig.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ComposeSpringPluginProcessor.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ComposeSpringPluginProcessor.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ComposeSpringPluginProcessor.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ComposeSpringPluginProcessor.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/DefaultProcessorContext.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/DefaultProcessorContext.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/DefaultProcessorContext.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/DefaultProcessorContext.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ExtractBeanProcessor.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ExtractBeanProcessor.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ExtractBeanProcessor.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ExtractBeanProcessor.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/FrameDefineBeanProcessor.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/FrameDefineBeanProcessor.java
similarity index 74%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/FrameDefineBeanProcessor.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/FrameDefineBeanProcessor.java
index b4c6549182214e2c075d579466a8026f24932587..56fcb6af01916a9de51eaf1c8c57d56230c3229a 100644
--- a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/FrameDefineBeanProcessor.java
+++ b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/FrameDefineBeanProcessor.java
@@ -17,6 +17,9 @@
package com.gitee.starblues.bootstrap.processor;
+import com.gitee.starblues.bootstrap.realize.DefaultMainEnvironmentProvider;
+import com.gitee.starblues.bootstrap.realize.EmptyMainEnvironmentProvider;
+import com.gitee.starblues.bootstrap.realize.MainEnvironmentProvider;
import com.gitee.starblues.core.descriptor.InsidePluginDescriptor;
import com.gitee.starblues.integration.AutoIntegrationConfiguration;
import com.gitee.starblues.integration.ExtendPointConfiguration;
@@ -36,11 +39,17 @@ public class FrameDefineBeanProcessor implements SpringPluginProcessor {
InsidePluginDescriptor pluginDescriptor = context.getPluginDescriptor();
ConfigurableListableBeanFactory beanFactory = applicationContext.getBeanFactory();
beanFactory.registerSingleton("pluginDescriptor", pluginDescriptor.toPluginDescriptor());
+ beanFactory.registerSingleton("mainApplicationContext", context.getMainApplicationContext());
+ MainEnvironmentProvider mainEnvironmentProvider = null;
if(context.runMode() == ProcessorContext.RunMode.ONESELF){
beanFactory.registerSingleton("integrationConfiguration", new AutoIntegrationConfiguration());
applicationContext.registerBean(ExtendPointConfiguration.class);
+ mainEnvironmentProvider = new EmptyMainEnvironmentProvider();
+ } else {
+ mainEnvironmentProvider = new DefaultMainEnvironmentProvider(context.getMainApplicationContext());
}
+ beanFactory.registerSingleton("mainEnvironmentProvider", mainEnvironmentProvider);
}
@Override
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/InvokeOtherPluginProcessor.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/InvokeOtherPluginProcessor.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/InvokeOtherPluginProcessor.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/InvokeOtherPluginProcessor.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ProcessorContext.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ProcessorContext.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ProcessorContext.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ProcessorContext.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ProcessorException.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ProcessorException.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ProcessorException.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/ProcessorException.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/SpringPluginProcessor.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/SpringPluginProcessor.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/SpringPluginProcessor.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/SpringPluginProcessor.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegister.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegister.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegister.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegister.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegistration.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegistration.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegistration.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegistration.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegistry.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegistry.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegistry.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/interceptor/PluginInterceptorRegistry.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/invoke/InvokeBeanFactory.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/invoke/InvokeBeanFactory.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/invoke/InvokeBeanFactory.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/invoke/InvokeBeanFactory.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/invoke/InvokeProxyHandler.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/invoke/InvokeProxyHandler.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/invoke/InvokeProxyHandler.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/invoke/InvokeProxyHandler.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/scanner/PluginClassPathBeanDefinitionScanner.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/scanner/PluginClassPathBeanDefinitionScanner.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/scanner/PluginClassPathBeanDefinitionScanner.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/scanner/PluginClassPathBeanDefinitionScanner.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginControllerProcessor.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginControllerProcessor.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginControllerProcessor.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginControllerProcessor.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginInterceptorsProcessor.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginInterceptorsProcessor.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginInterceptorsProcessor.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginInterceptorsProcessor.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginSpringDocControllerProcessor.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginSpringDocControllerProcessor.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginSpringDocControllerProcessor.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginSpringDocControllerProcessor.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginStaticResourceProcessor.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginStaticResourceProcessor.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginStaticResourceProcessor.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/PluginStaticResourceProcessor.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/thymeleaf/PluginThymeleafProcessor.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/thymeleaf/PluginThymeleafProcessor.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/thymeleaf/PluginThymeleafProcessor.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/thymeleaf/PluginThymeleafProcessor.java
diff --git a/springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/thymeleaf/ThymeleafConfigParse.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/thymeleaf/ThymeleafConfigParse.java
similarity index 100%
rename from springboot-plugin-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/thymeleaf/ThymeleafConfigParse.java
rename to spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/processor/web/thymeleaf/ThymeleafConfigParse.java
diff --git a/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/realize/DefaultMainEnvironmentProvider.java b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/realize/DefaultMainEnvironmentProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..8487d3664dd6c607272685cccc47dd56471c2aaf
--- /dev/null
+++ b/spring-brick-bootstrap/src/main/java/com/gitee/starblues/bootstrap/realize/DefaultMainEnvironmentProvider.java
@@ -0,0 +1,123 @@
+/**
+ * Copyright [2019-2022] [starBlues]
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.gitee.starblues.bootstrap.realize;
+
+import com.gitee.starblues.loader.utils.ObjectUtils;
+import com.gitee.starblues.spring.MainApplicationContext;
+
+import java.util.Map;
+import java.util.function.Function;
+
+/**
+ * 主程序配置信息提供者默认实现
+ *
+ * @author starBlues
+ * @version 3.0.0
+ */
+public class DefaultMainEnvironmentProvider implements MainEnvironmentProvider{
+
+ private final MainApplicationContext mainApplicationContext;
+
+ public DefaultMainEnvironmentProvider(MainApplicationContext mainApplicationContext) {
+ this.mainApplicationContext = mainApplicationContext;
+ }
+
+ @Override
+ public Object getValue(String name) {
+ Map> configurableEnvironment = mainApplicationContext.getConfigurableEnvironment();
+ if(ObjectUtils.isEmpty(configurableEnvironment)){
+ return null;
+ }
+ for (Map.Entry> entry : configurableEnvironment.entrySet()) {
+ Map value = entry.getValue();
+ Object o = value.get(name);
+ if(o != null){
+ return o;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public String getString(String name) {
+ return getValue(name, String::valueOf);
+ }
+
+ @Override
+ public Integer getInteger(String name) {
+ return getValue(name, value -> {
+ if(value instanceof Integer){
+ return (Integer) value;
+ }
+ return Integer.parseInt(String.valueOf(value));
+ });
+ }
+
+ @Override
+ public Long getLong(String name) {
+ return getValue(name, value -> {
+ if(value instanceof Long){
+ return (Long) value;
+ }
+ return Long.parseLong(String.valueOf(value));
+ });
+ }
+
+ @Override
+ public Double getDouble(String name) {
+ return getValue(name, value -> {
+ if(value instanceof Double){
+ return (Double) value;
+ }
+ return Double.parseDouble(String.valueOf(value));
+ });
+ }
+
+ @Override
+ public Float getFloat(String name) {
+ return getValue(name, value -> {
+ if(value instanceof Float){
+ return (Float) value;
+ }
+ return Float.parseFloat(String.valueOf(value));
+ });
+ }
+
+ @Override
+ public Boolean getBoolean(String name) {
+ return getValue(name, value -> {
+ if(value instanceof Boolean){
+ return (Boolean) value;
+ }
+ return Boolean.parseBoolean(String.valueOf(value));
+ });
+ }
+
+ @Override
+ public Map> getAll() {
+ return mainApplicationContext.getConfigurableEnvironment();
+ }
+
+ private T getValue(String name, Function