Bladeren bron

Merge pull request #6092 from EightMonth/springboot3_sas

升级druid v1.2.22版本兼容处理
JEECG 1 jaar geleden
bovenliggende
commit
46b026b989

+ 47 - 0
jeecg-boot-base-core/src/main/java/org/jeecg/config/DruidWallConfigRegister.java

@@ -0,0 +1,47 @@
+package org.jeecg.config;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.SpringApplicationRunListener;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.core.env.ConfigurableEnvironment;
+import org.springframework.core.env.MapPropertySource;
+import org.springframework.core.env.MutablePropertySources;
+import org.springframework.core.env.PropertySource;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author eightmonth@qq.com
+ * @date 2024/4/8 11:37
+ */
+public class DruidWallConfigRegister implements SpringApplicationRunListener {
+
+    public SpringApplication application;
+
+    private String[] args;
+
+
+    /**
+     * 必备,否则启动报错
+     * @param application
+     * @param args
+     */
+    public DruidWallConfigRegister(SpringApplication application, String[] args) {
+        this.application = application;
+        this.args = args;
+    }
+
+    @Override
+    public void contextLoaded(ConfigurableApplicationContext context) {
+        ConfigurableEnvironment env = context.getEnvironment();
+        Map<String, Object> props = new HashMap<>();
+        props.put("spring.datasource.dynamic.druid.wall.selectWhereAlwayTrueCheck", false);
+
+        MutablePropertySources propertySources = env.getPropertySources();
+
+        PropertySource<Map<String, Object>> propertySource = new MapPropertySource("jeecg-datasource-config", props);
+
+        propertySources.addLast(propertySource);
+    }
+}

+ 2 - 0
jeecg-boot-base-core/src/main/resources/META-INF/spring.factories

@@ -0,0 +1,2 @@
+org.springframework.boot.SpringApplicationRunListener=\
+org.jeecg.config.DruidWallConfigRegister