|
@@ -0,0 +1,51 @@
|
|
|
+package cn.jx.wechat.app.wechatrobot.config;
|
|
|
+
|
|
|
+
|
|
|
+import org.springframework.boot.autoconfigure.AutoConfigurationImportFilter;
|
|
|
+import org.springframework.boot.autoconfigure.AutoConfigurationMetadata;
|
|
|
+import org.springframework.context.EnvironmentAware;
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
+import org.springframework.core.env.Environment;
|
|
|
+
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.LinkedHashMap;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+
|
|
|
+//@Configuration
|
|
|
+public class AutoBeanFilterConfig implements AutoConfigurationImportFilter, EnvironmentAware {
|
|
|
+
|
|
|
+ private Environment environment;
|
|
|
+ private Map<String, Set<String>> filterConfigMap = new LinkedHashMap<>();
|
|
|
+
|
|
|
+ public AutoBeanFilterConfig(){
|
|
|
+ //Set<String> autoHttpClient5Filter=new HashSet<>(2);
|
|
|
+ //this.filterConfigMap.put("auto.httpClient5",autoHttpClient5Filter);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void setEnvironment(Environment environment) {
|
|
|
+ this.environment = environment;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean[] match(String[] autoConfigurationClasses, AutoConfigurationMetadata autoConfigurationMetadata) {
|
|
|
+
|
|
|
+ boolean[] skip = new boolean[autoConfigurationClasses.length];
|
|
|
+ Set<String> filterClass = new HashSet<>(10);
|
|
|
+ this.filterConfigMap.values().forEach(filterClass::addAll);
|
|
|
+ for (int i = 0; i < autoConfigurationClasses.length; i++) {
|
|
|
+ String autoConfigurationClass = autoConfigurationClasses[i];
|
|
|
+ if (null!=autoConfigurationClass&&filterClass.contains(autoConfigurationClass)) {
|
|
|
+ skip[i] = true;
|
|
|
+ }else{
|
|
|
+ skip[i] = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return skip;
|
|
|
+
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|