[SCB-2190] allow customer exclude servicecomb configuration mechanism (#2234)

diff --git a/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java b/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java
index afb8417..2fb562a 100644
--- a/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java
+++ b/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java
@@ -74,8 +74,17 @@
 
   public static final String MAPPING_PROPERTY_SOURCE_NAME = "mapping.yaml";
 
-  private final List<BootStrapService> bootStrapServices =
-      SPIServiceUtils.getSortedService(BootStrapService.class);
+  public static final String EXTERNAL_INIT = "scb-config-external-init";
+
+  public static void setExternalInit(boolean value) {
+    System.setProperty(EXTERNAL_INIT, String.valueOf(value));
+  }
+
+  public static boolean isExternalInit() {
+    return Boolean.getBoolean(EXTERNAL_INIT);
+  }
+
+  private final List<BootStrapService> bootStrapServices = SPIServiceUtils.getSortedService(BootStrapService.class);
 
   public ConfigurationSpringInitializer() {
     setOrder(Ordered.LOWEST_PRECEDENCE / 2);
@@ -88,6 +97,11 @@
    */
   @Override
   public void setEnvironment(Environment environment) {
+    super.setEnvironment(environment);
+    if (isExternalInit()) {
+      return;
+    }
+
     syncFromSpring(environment);
     syncToSpring(environment);
 
@@ -105,6 +119,10 @@
   }
 
   public static void syncToSpring(Environment environment) {
+    if (isExternalInit()) {
+      return;
+    }
+
     addMicroserviceYAMLToSpring(environment);
     addMappingToSpring(environment);
   }
@@ -197,6 +215,9 @@
   @Override
   protected Properties mergeProperties() throws IOException {
     Properties properties = super.mergeProperties();
+    if (isExternalInit()) {
+      return properties;
+    }
 
     AbstractConfiguration config = ConfigurationManager.getConfigInstance();
     Iterator<String> iterator = config.getKeys();