diff --git a/Changelog.md b/Changelog.md index 0b792c1..2199281 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,15 @@ # Changelog +### 1.1.1 +1. 新增 `statement-sql-format-option` 的代码提示 + +### 1.1.0 +1. 新增 `druid-spring-boot-actuator-starter` 模块 +3. 更改包名称为 `com.github.trang.druid.autoconfigure` +4. 更改数据源名称为 `DruidDataSource2` +2. 优化 Auto-configure Bean 的加载条件 +5. 优化 Maven 依赖 + ### 1.0.3 1. 新增 ConfigFilter 的自动配置,替换 Druid 默认的 `connectionProperties` 方式 2. 修复 `spring.datasource.schema` 会执行两次的 bug diff --git a/README.md b/README.md index 2657868..7706d89 100644 --- a/README.md +++ b/README.md @@ -14,14 +14,15 @@ Druid Spring Boot Starter 将帮助你在 Spring Boot 中使用 Druid。 com.github.drtrang druid-spring-boot-starter - 1.1.0 + 1.1.1 ``` ## NEW ! -1. 新增 `druid-spring-boot-actuator-starter` -1. 新增 ConfigFilter 的自动配置,替换 Druid 默认的 `connectionProperties` 方式 -2. 完美支持多数据源 [ISSUE #2](https://github.com/drtrang/druid-spring-boot/issues/2) +1. 新增 `statement-sql-format-option` 的代码提示 +2. 新增 `druid-spring-boot-actuator-starter` +3. 新增 ConfigFilter 的自动配置,替换 Druid 默认的 `connectionProperties` 方式 +4. 完美支持多数据源 [ISSUE #2](https://github.com/drtrang/druid-spring-boot/issues/2) ## 配置 @@ -96,6 +97,8 @@ spring: ### 配置示例 [application.yml](https://github.com/drtrang/druid-spring-boot/blob/master/druid-spring-boot-samples/src/main/resources/application.yml) +### 全配置说明 + ## 自动提示 Druid Spring Boot Starter 基于 `spring-boot-configuration-processor` 模块,支持 IDE 的自动提示。 diff --git a/druid-spring-boot-actuator-autoconfigure/pom.xml b/druid-spring-boot-actuator-autoconfigure/pom.xml index 14b1a65..a983759 100644 --- a/druid-spring-boot-actuator-autoconfigure/pom.xml +++ b/druid-spring-boot-actuator-autoconfigure/pom.xml @@ -7,7 +7,7 @@ com.github.drtrang druid-spring-boot - 1.1.0 + 1.1.1 druid-spring-boot-actuator-autoconfigure diff --git a/druid-spring-boot-actuator-starter/pom.xml b/druid-spring-boot-actuator-starter/pom.xml index 4388cb1..a0df15a 100644 --- a/druid-spring-boot-actuator-starter/pom.xml +++ b/druid-spring-boot-actuator-starter/pom.xml @@ -7,7 +7,7 @@ com.github.drtrang druid-spring-boot - 1.1.0 + 1.1.1 druid-spring-boot-actuator-starter diff --git a/druid-spring-boot-actuator/pom.xml b/druid-spring-boot-actuator/pom.xml index 7724c6c..9df3e6d 100644 --- a/druid-spring-boot-actuator/pom.xml +++ b/druid-spring-boot-actuator/pom.xml @@ -7,7 +7,7 @@ com.github.drtrang druid-spring-boot - 1.1.0 + 1.1.1 druid-spring-boot-actuator diff --git a/druid-spring-boot-actuator/src/main/java/com/github/trang/druid/actuate/DruidDataSourceEndpoint.java b/druid-spring-boot-actuator/src/main/java/com/github/trang/druid/actuate/DruidDataSourceEndpoint.java index b9be1ad..391d6cc 100644 --- a/druid-spring-boot-actuator/src/main/java/com/github/trang/druid/actuate/DruidDataSourceEndpoint.java +++ b/druid-spring-boot-actuator/src/main/java/com/github/trang/druid/actuate/DruidDataSourceEndpoint.java @@ -19,11 +19,11 @@ public class DruidDataSourceEndpoint extends AbstractEndpoint> invoke() { - return statManager.getDataSourceStatDataList(); + return STAT_MANAGER.getDataSourceStatDataList(); } } \ No newline at end of file diff --git a/druid-spring-boot-autoconfigure/pom.xml b/druid-spring-boot-autoconfigure/pom.xml index fd8daf1..1e01dfc 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.1.0 + 1.1.1 druid-spring-boot-autoconfigure diff --git a/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/datasource/DruidDataSource2Support.java b/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/datasource/DruidDataSource2Support.java index 594cd23..e9e15b9 100644 --- a/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/datasource/DruidDataSource2Support.java +++ b/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/datasource/DruidDataSource2Support.java @@ -31,7 +31,7 @@ public abstract class DruidDataSource2Support extends DruidDataSource { @Autowired private DruidDataSourceProperties druidDataSourceProperties; @Autowired - private Optional> druidFilters; + private List druidFilters; @PostConstruct public void initDruidParentProperties() { @@ -72,11 +72,14 @@ public abstract class DruidDataSource2Support extends DruidDataSource { } private void initFilters() { - List filters = super.getProxyFilters(); - druidFilters.ifPresent(dfs -> dfs.stream() - .filter(Objects::nonNull) - .filter(filter -> !filters.contains(filter)) - .forEach(filters::add)); + List proxyFilters = super.getProxyFilters(); + Optional.ofNullable(druidFilters) + .filter(filters -> !filters.isEmpty()) + .ifPresent(dfs -> dfs.stream() + .filter(Objects::nonNull) + .filter(filter -> !proxyFilters.contains(filter)) + .forEach(proxyFilters::add) + ); } } \ No newline at end of file diff --git a/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/properties/DruidDataSourceProperties.java b/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/properties/DruidDataSourceProperties.java index 67df218..46019cb 100644 --- a/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/properties/DruidDataSourceProperties.java +++ b/druid-spring-boot-autoconfigure/src/main/java/com/github/trang/druid/autoconfigure/properties/DruidDataSourceProperties.java @@ -43,60 +43,60 @@ public class DruidDataSourceProperties { @Getter@Setter public static class DruidConfigFilterProperties { - // 是否开启 druid config-filter,默认否 + /** 是否开启 druid config-filter,默认否 */ private boolean enabled; - // 密钥地址 + /** 密钥地址 */ private String file; - // 加密密钥 + /** 加密密钥 */ private String key; } @Getter @Setter public static class DruidStatViewServletProperties { - // 是否开启 druid 的数据统计页面,默认否 + /** 是否开启 druid 的数据统计页面,默认否 */ private boolean enabled; - // servlet 的映射规则,默认访问 "http://xxx/druid/" + /** servlet 的映射规则,默认访问 "http:/**xxx/druid/" */ private String urlMappings = "/druid/*"; - // druid 统计页面的登陆用户名 + /** druid 统计页面的登陆用户名 */ private String loginUsername; - // druid 统计页面的登陆密码 + /** druid 统计页面的登陆密码 */ private String loginPassword; - // druid 统计页面的访问白名单,默认允许所有人访问 + /** druid 统计页面的访问白名单,默认允许所有人访问 */ private String allow; - // druid 统计页面的访问黑名单,优先于白名单 + /** druid 统计页面的访问黑名单,优先于白名单 */ private String deny; - // 是否允许清空统计数据,默认否 + /** 是否允许清空统计数据,默认否 */ private boolean resetEnable; } @Getter @Setter public static class DruidWebStatProperties { - // 是否开启 web-jdbc 监控,默认否 + /** 是否开启 web-jdbc 监控,默认否 */ private boolean enabled; - // 过滤器 url 的映射规则 + /** 过滤器 url 的映射规则 */ private String urlPatterns = "/*"; - // 过滤器 url 的排除规则 + /** 过滤器 url 的排除规则 */ private String exclusions = "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"; - // 是否开启 session 统计,默认否 + /** 是否开启 session 统计,默认否 */ private boolean sessionStatEnable; - // session 统计的最大值,默认值 1000 + /** session 统计的最大值,默认值 1000 */ private Integer sessionStatMaxCount = 1000; - // 配置当前 session 的用户 + /** 配置当前 session 的用户 */ private String principalSessionName; - // 配置当前 cookie 的用户 + /** 配置当前 cookie 的用户 */ private String principalCookieName; - // 是否开启监控单个 url 调用的 sql 列表,默认是 + /** 是否开启监控单个 url 调用的 sql 列表,默认是 */ private boolean profileEnable = true; } @Getter @Setter public static class DruidAopStatProperties { - // 是否开启基于 aop 的监控,默认否 + /** 是否开启基于 aop 的监控,默认否 */ private boolean enabled; - // aop 拦截规则 + /** aop 拦截规则 */ private String[] patterns; } diff --git a/druid-spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/druid-spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 112e32e..2910e89 100644 --- a/druid-spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/druid-spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -62,6 +62,30 @@ "description": "Whether or not druid stat-view-servlet are enabled.", "sourceType": "com.github.trang.druid.autoconfigure.properties.DruidDataSourceProperties$DruidStatViewServletProperties", "defaultValue": false + }, + { + "name": "spring.datasource.druid.slf4j.statement-sql-format-option.upp-case", + "type": "java.lang.Boolean", + "sourceType": "com.alibaba.druid.sql.SQLUtils$FormatOption", + "defaultValue": false + }, + { + "name": "spring.datasource.druid.slf4j.statement-sql-format-option.pretty-format", + "type": "java.lang.Boolean", + "sourceType": "com.alibaba.druid.sql.SQLUtils$FormatOption", + "defaultValue": true + }, + { + "name": "spring.datasource.druid.slf4j.statement-sql-format-option.desensitize", + "type": "java.lang.Boolean", + "sourceType": "com.alibaba.druid.sql.SQLUtils$FormatOption", + "defaultValue": false + }, + { + "name": "spring.datasource.druid.slf4j.statement-sql-format-option.parameterized", + "type": "java.lang.Boolean", + "sourceType": "com.alibaba.druid.sql.SQLUtils$FormatOption", + "defaultValue": false } ], "hints": [ diff --git a/druid-spring-boot-samples/pom.xml b/druid-spring-boot-samples/pom.xml index e4747c8..94d1770 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.1.0 + 1.1.1 druid-spring-boot-samples diff --git a/druid-spring-boot-samples/src/main/java/com/github/trang/druid/DruidSpringBootStarterApplication.java b/druid-spring-boot-samples/src/main/java/com/github/trang/druid/DruidSpringBootStarterApplication.java index e3ff5a9..174de9c 100644 --- a/druid-spring-boot-samples/src/main/java/com/github/trang/druid/DruidSpringBootStarterApplication.java +++ b/druid-spring-boot-samples/src/main/java/com/github/trang/druid/DruidSpringBootStarterApplication.java @@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ApplicationContext; /** * DruidSpringBootStarterApplication @@ -22,6 +23,8 @@ public class DruidSpringBootStarterApplication implements CommandLineRunner { SpringApplication.run(DruidSpringBootStarterApplication.class, args); } + @Autowired + private ApplicationContext applicationContext; @Autowired private CityMapper cityMapper; diff --git a/druid-spring-boot-samples/src/main/java/com/github/trang/druid/config/SpringDataSourceConfig.java b/druid-spring-boot-samples/src/main/java/com/github/trang/druid/config/SpringDataSourceConfig.java index 1ef13f4..89cc094 100644 --- a/druid-spring-boot-samples/src/main/java/com/github/trang/druid/config/SpringDataSourceConfig.java +++ b/druid-spring-boot-samples/src/main/java/com/github/trang/druid/config/SpringDataSourceConfig.java @@ -49,7 +49,7 @@ public class SpringDataSourceConfig { @Bean @Primary public DynamicDataSource dataSource(DruidDataSource firstDataSource, DruidDataSource secondDataSource) { - Map targetDataSources = new HashMap<>(); + Map targetDataSources = new HashMap<>(8); targetDataSources.put(firstDataSource.getName(), firstDataSource); targetDataSources.put(secondDataSource.getName(), secondDataSource); return new DynamicDataSource(firstDataSource, targetDataSources); diff --git a/druid-spring-boot-samples/src/main/java/com/github/trang/druid/controller/CityController.java b/druid-spring-boot-samples/src/main/java/com/github/trang/druid/controller/CityController.java index ee61bc5..a52e6a3 100644 --- a/druid-spring-boot-samples/src/main/java/com/github/trang/druid/controller/CityController.java +++ b/druid-spring-boot-samples/src/main/java/com/github/trang/druid/controller/CityController.java @@ -5,6 +5,11 @@ import com.github.trang.druid.model.City; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +/** + * CityController + * + * @author trang + */ @RestController @RequestMapping("/city") public class CityController { diff --git a/druid-spring-boot-samples/src/main/java/com/github/trang/druid/mapper/CityMapper.java b/druid-spring-boot-samples/src/main/java/com/github/trang/druid/mapper/CityMapper.java index 909acb8..a672094 100644 --- a/druid-spring-boot-samples/src/main/java/com/github/trang/druid/mapper/CityMapper.java +++ b/druid-spring-boot-samples/src/main/java/com/github/trang/druid/mapper/CityMapper.java @@ -7,6 +7,11 @@ import org.apache.ibatis.annotations.Select; import java.util.List; +/** + * CityMapper + * + * @author trang + */ @Mapper public interface CityMapper { diff --git a/druid-spring-boot-samples/src/main/java/com/github/trang/druid/model/City.java b/druid-spring-boot-samples/src/main/java/com/github/trang/druid/model/City.java index be3201d..f931029 100644 --- a/druid-spring-boot-samples/src/main/java/com/github/trang/druid/model/City.java +++ b/druid-spring-boot-samples/src/main/java/com/github/trang/druid/model/City.java @@ -2,6 +2,11 @@ package com.github.trang.druid.model; import java.io.Serializable; +/** + * City + * + * @author trang + */ public class City implements Serializable { private static final long serialVersionUID = 1L; diff --git a/druid-spring-boot-samples/src/main/resources/application.yml b/druid-spring-boot-samples/src/main/resources/application.yml index c017972..23e5695 100644 --- a/druid-spring-boot-samples/src/main/resources/application.yml +++ b/druid-spring-boot-samples/src/main/resources/application.yml @@ -46,9 +46,12 @@ spring: enabled: true connection-log-enabled: false connection-log-error-enabled: true - statement-log-enabled: false + statement-log-enabled: true statement-log-error-enabled: true - statement-sql-pretty-format: true + statement-sql-format-option: + upp-case: true + pretty-format: false + statement-sql-pretty-format: false statement-executable-sql-log-enable: true result-set-log-enabled: false result-set-log-error-enabled: true @@ -58,7 +61,7 @@ spring: log-violation: true throw-exception: false config: - select-all-column-allow: false + delete-where-none-check: true config: enabled: true aop-stat: diff --git a/druid-spring-boot-starter/pom.xml b/druid-spring-boot-starter/pom.xml index bb80d27..5224d33 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.1.0 + 1.1.1 druid-spring-boot-starter diff --git a/pom.xml b/pom.xml index 62dc709..32bc5d3 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.github.drtrang druid-spring-boot - 1.1.0 + 1.1.1 pom Druid Spring Boot Starter @@ -48,9 +48,9 @@ UTF-8 1.8 - 1.1.3 + 1.1.5 1.3.1 - 1.5.7.RELEASE + 1.5.8.RELEASE 3.0.2 3.0.0