diff --git a/TODO.md b/TODO.md index 09d388d..5f9c77f 100644 --- a/TODO.md +++ b/TODO.md @@ -1,4 +1,5 @@ # TODO -## 1.0.2 自动提示增强 -1. 增加 `WallConfig` 的提示 \ No newline at end of file +## 1.0.2 +~~1. 增加 `WallConfig` 的提示~~ +2. 增加 `ConfigFilter` 的配置,替换默认的 ConnectProperties 方式 \ No newline at end of file diff --git a/druid-spring-boot-autoconfigure/pom.xml b/druid-spring-boot-autoconfigure/pom.xml index 73a0e54..2e7fb55 100644 --- a/druid-spring-boot-autoconfigure/pom.xml +++ b/druid-spring-boot-autoconfigure/pom.xml @@ -7,7 +7,7 @@ com.github.drtrang druid-spring-boot - 1.0.1 + 1.0.2-SNAPSHOT druid-spring-boot-autoconfigure diff --git a/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/DruidAutoConfiguration.java b/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/DruidAutoConfiguration.java index 8145453..7402872 100644 --- a/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/DruidAutoConfiguration.java +++ b/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/DruidAutoConfiguration.java @@ -8,6 +8,7 @@ import com.alibaba.druid.filter.logging.Log4jFilter; import com.alibaba.druid.filter.logging.Slf4jLogFilter; import com.alibaba.druid.filter.stat.StatFilter; import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.wall.WallConfig; import com.alibaba.druid.wall.WallFilter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,17 +57,25 @@ public class DruidAutoConfiguration { return new StatFilter(); } + @ConditionalOnProperty(prefix = DRUID_WALL_FILTER_PREFIX, name = "enabled", havingValue = "true") + @Bean + @ConfigurationProperties(DRUID_WALL_CONFIG_PREFIX) + public WallConfig wallConfig() { + return new WallConfig(); + } + @ConditionalOnProperty(prefix = DRUID_WALL_FILTER_PREFIX, name = "enabled", havingValue = "true") @Bean @ConfigurationProperties(DRUID_WALL_FILTER_PREFIX) - public WallFilter wallFilter() { + public WallFilter wallFilter(WallConfig wallConfig) { log.debug("druid wall-filter init..."); - return new WallFilter(); + WallFilter filter = new WallFilter(); + filter.setConfig(wallConfig); + return filter; } @ConditionalOnProperty(prefix = DRUID_CONFIG_FILTER_PREFIX, name = "enabled", havingValue = "true") @Bean - @ConfigurationProperties(DRUID_CONFIG_FILTER_PREFIX) public ConfigFilter configFilter() { log.debug("druid config-filter init..."); return new ConfigFilter(); diff --git a/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/DruidProperties.java b/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/DruidProperties.java index 0758dab..eda02f6 100644 --- a/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/DruidProperties.java +++ b/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/DruidProperties.java @@ -16,6 +16,7 @@ public class DruidProperties { public static final String DRUID_DATA_SOURCE_PREFIX = "spring.datasource.druid"; public static final String DRUID_STAT_FILTER_PREFIX = "spring.datasource.druid.stat"; public static final String DRUID_WALL_FILTER_PREFIX = "spring.datasource.druid.wall"; + public static final String DRUID_WALL_CONFIG_PREFIX = "spring.datasource.druid.wall.config"; public static final String DRUID_CONFIG_FILTER_PREFIX = "spring.datasource.druid.config"; public static final String DRUID_SLF4J_FILTER_PREFIX = "spring.datasource.druid.slf4j"; public static final String DRUID_LOG4J_FILTER_PREFIX = "spring.datasource.druid.log4j"; diff --git a/druid-spring-boot-samples/pom.xml b/druid-spring-boot-samples/pom.xml index 8309310..d8e17d1 100644 --- a/druid-spring-boot-samples/pom.xml +++ b/druid-spring-boot-samples/pom.xml @@ -7,7 +7,7 @@ com.github.drtrang druid-spring-boot - 1.0.1 + 1.0.2-SNAPSHOT druid-spring-boot-samples diff --git a/druid-spring-boot-samples/src/main/resources/application.yml b/druid-spring-boot-samples/src/main/resources/application.yml index a4d04ea..c72ae0d 100644 --- a/druid-spring-boot-samples/src/main/resources/application.yml +++ b/druid-spring-boot-samples/src/main/resources/application.yml @@ -47,6 +47,8 @@ spring: db-type: h2 log-violation: true throw-exception: false + config: + select-all-column-allow: false aop-stat: enabled: false patterns: diff --git a/druid-spring-boot-samples/src/test/java/com/github/trang/druid/test/DruidTests.java b/druid-spring-boot-samples/src/test/java/com/github/trang/druid/test/DruidTests.java index 286524c..de9a92d 100644 --- a/druid-spring-boot-samples/src/test/java/com/github/trang/druid/test/DruidTests.java +++ b/druid-spring-boot-samples/src/test/java/com/github/trang/druid/test/DruidTests.java @@ -1,6 +1,8 @@ package com.github.trang.druid.test; import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.wall.WallFilter; +import com.github.trang.druid.mapper.CityMapper; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -19,6 +21,10 @@ public class DruidTests { @Autowired private DruidDataSource dataSource; + @Autowired + private WallFilter wallFilter; + @Autowired + private CityMapper cityMapper; @Test public void testDataSource() { @@ -36,4 +42,9 @@ public class DruidTests { assertEquals(dataSource.isUseGlobalDataSourceStat(), true); } + @Test + public void testMybatis() { + System.out.println(cityMapper.findById(1L)); + } + } \ No newline at end of file diff --git a/druid-spring-boot-starter/pom.xml b/druid-spring-boot-starter/pom.xml index e3b3434..13deecc 100644 --- a/druid-spring-boot-starter/pom.xml +++ b/druid-spring-boot-starter/pom.xml @@ -7,7 +7,7 @@ com.github.drtrang druid-spring-boot - 1.0.1 + 1.0.2-SNAPSHOT druid-spring-boot-starter diff --git a/pom.xml b/pom.xml index 63fcf6b..2d367b6 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.github.drtrang druid-spring-boot - 1.0.1 + 1.0.2-SNAPSHOT pom ${project.artifactId}