From 088064caf07b0abff1b45dd5d323ede3558cb9aa Mon Sep 17 00:00:00 2001 From: lihengming <89921218@qq.com> Date: Thu, 13 Jul 2017 13:34:41 +0800 Subject: [PATCH 1/3] update > config-template.properties --- .../src/test/resources/config-template.properties | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/druid-spring-boot-starter/src/test/resources/config-template.properties b/druid-spring-boot-starter/src/test/resources/config-template.properties index ab42f074ee..5cd118c52f 100644 --- a/druid-spring-boot-starter/src/test/resources/config-template.properties +++ b/druid-spring-boot-starter/src/test/resources/config-template.properties @@ -1,9 +1,10 @@ ######Druid数据源配置###### # JDBC配置 -spring.datasource.url= #别名为spring.datasource.druid.url -spring.datasource.username= #别名为spring.datasource.druid.username -spring.datasource.password= #别名为spring.datasource.druid.password -spring.datasource.driver-class-name= #别名为spring.datasource.druid.driver-class-name,非必填项可通过url解析 +spring.datasource.druid.url= # 或spring.datasource.url= +spring.datasource.druid.username= # 或spring.datasource.username= +spring.datasource.druid.password= # 或spring.datasource.password= +spring.datasource.druid.driver-class-name= #或 spring.datasource.driver-class-name= + # 连接池配置,下面配置说明请参考Druid Github Wiki,配置_DruidDataSource参考配置 spring.datasource.druid.initial-size= spring.datasource.druid.min-idle= @@ -39,6 +40,6 @@ spring.datasource.druid.stat-view-servlet.loginUsername= spring.datasource.druid.stat-view-servlet.loginPassword= spring.datasource.druid.stat-view-servlet.allow= spring.datasource.druid.stat-view-servlet.deny= -#下面配置说明请参考Druid Github Wiki,配置_配置WebStatFilter +#下面配置说明请参考Druid Github Wiki,配置_Druid和Spring关联监控配置 spring.datasource.druid.aop-patterns= #Spring监控AOP切入点,如x.y.z.service.*,配置多个英文逗号分隔 #如果spring.datasource.druid.aop-patterns要代理的类没有定义interface请设置spring.aop.proxy-target-class=true From 25380437c080c1475c2e2f21ada6cd5014b07be3 Mon Sep 17 00:00:00 2001 From: lihengming <89921218@qq.com> Date: Thu, 13 Jul 2017 13:55:02 +0800 Subject: [PATCH 2/3] update > config-template.properties --- .../src/test/resources/config-template.properties | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/druid-spring-boot-starter/src/test/resources/config-template.properties b/druid-spring-boot-starter/src/test/resources/config-template.properties index 5cd118c52f..1113139141 100644 --- a/druid-spring-boot-starter/src/test/resources/config-template.properties +++ b/druid-spring-boot-starter/src/test/resources/config-template.properties @@ -7,19 +7,20 @@ spring.datasource.druid.driver-class-name= #或 spring.datasource.driver-class-n # 连接池配置,下面配置说明请参考Druid Github Wiki,配置_DruidDataSource参考配置 spring.datasource.druid.initial-size= -spring.datasource.druid.min-idle= spring.datasource.druid.max-active= +spring.datasource.druid.min-idle= spring.datasource.druid.max-wait= -spring.datasource.druid.time-between-eviction-runs-millis= -spring.datasource.druid.min-evictable-idle-time-millis= -spring.datasource.druid.max-evictable-idle-time-millis= +spring.datasource.druid.pool-prepared-statements= +spring.datasource.druid.max-pool-prepared-statement-per-connection-size= +spring.datasource.druid.max-open-prepared-statements= #等价于上面的max-pool-prepared-statement-per-connection-size spring.datasource.druid.validation-query= spring.datasource.druid.validation-query-timeout= spring.datasource.druid.test-on-borrow= spring.datasource.druid.test-on-return= spring.datasource.druid.test-while-idle= -spring.datasource.druid.pool-prepared-statements= -spring.datasource.druid.max-pool-prepared-statement-per-connection-size= +spring.datasource.druid.time-between-eviction-runs-millis= +spring.datasource.druid.min-evictable-idle-time-millis= +spring.datasource.druid.max-evictable-idle-time-millis= spring.datasource.druid.filters= #默认值stat,配置多个英文逗号分隔 ######Druid监控配置###### From 573c8f4d6d8b9ef9cadf6177b2e4f1c39e31658b Mon Sep 17 00:00:00 2001 From: lihengming <89921218@qq.com> Date: Thu, 13 Jul 2017 13:57:16 +0800 Subject: [PATCH 3/3] update > the document for V1.1.1, detail see issue #1813 --- druid-spring-boot-starter/README.md | 108 ++++++++++++++-------------- 1 file changed, 56 insertions(+), 52 deletions(-) diff --git a/druid-spring-boot-starter/README.md b/druid-spring-boot-starter/README.md index b56f590463..ee80e57fe7 100644 --- a/druid-spring-boot-starter/README.md +++ b/druid-spring-boot-starter/README.md @@ -3,93 +3,97 @@ Spring Boot with Druid support,help you simplify Druid config in Spring Boot. ### 如何使用 -在Spring Boot项目的pom.xml中添加以下依赖: +在 Spring Boot 项目的```pom.xml```中添加以下依赖: ```xml com.alibaba druid-spring-boot-starter - 尚未发布中央仓库 + 1.1.1 ``` ### 配置项 Druid Spring Boot Starter 配置项参数名称完全遵照Druid,你可以通过自定义配置去覆盖默认值。 ```xml # JDBC配置 -spring.datasource.url= # 或spring.datasource.druid.url= -spring.datasource.username= # 或spring.datasource.druid.username= -spring.datasource.password= # 或spring.datasource.druid.password= -spring.datasource.driver-class-name= #或 spring.datasource.druid.driver-class-name= +spring.datasource.druid.url= # 或spring.datasource.url= +spring.datasource.druid.username= # 或spring.datasource.username= +spring.datasource.druid.password= # 或spring.datasource.password= +spring.datasource.druid.driver-class-name= #或 spring.datasource.driver-class-name= -# 连接池配置,说明请参考Druid Wiki,配置_DruidDataSource参考配置 -spring.datasource.druid.filters= # 默认值为stat,配置多个请以英文逗号分隔,如stat,wall,log4j -spring.datasource.druid.initialSize= -spring.datasource.druid.minIdle= -spring.datasource.druid.maxActive= -spring.datasource.druid.maxWait= -spring.datasource.druid.timeBetweenEvictionRunsMillis= -spring.datasource.druid.minEvictableIdleTimeMillis= -spring.datasource.druid.validationQuery= -spring.datasource.druid.testWhileIdle= -spring.datasource.druid.testOnBorrow= -spring.datasource.druid.testOnReturn= -spring.datasource.druid.poolPreparedStatements= -spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize= -# Druid Spring Boot Starter不仅限于对以上连接池配置项的支持,DruidDataSource提供set方法的属性都可在此进行配置,但需自行检查是否生效。 +# 连接池配置,说明请参考Druid Wiki,DruidDataSource配置属性列表 +spring.datasource.druid.initial-size= +spring.datasource.druid.max-active= +spring.datasource.druid.min-idle= +spring.datasource.druid.max-wait= +spring.datasource.druid.pool-prepared-statements= +spring.datasource.druid.max-pool-prepared-statement-per-connection-size= +spring.datasource.druid.max-open-prepared-statements= #等价于上面的max-pool-prepared-statement-per-connection-size +spring.datasource.druid.validation-query= +spring.datasource.druid.validation-query-timeout= +spring.datasource.druid.test-on-borrow= +spring.datasource.druid.test-on-return= +spring.datasource.druid.test-while-idle= +spring.datasource.druid.time-between-eviction-runs-millis= +spring.datasource.druid.min-evictable-idle-time-millis= +spring.datasource.druid.max-evictable-idle-time-millis= +spring.datasource.druid.filters= #默认值stat,配置多个英文逗号分隔 # WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter -spring.datasource.druid.WebStatFilter.enabled= #是否启用StatFilter默认值true -spring.datasource.druid.WebStatFilter.urlPattern= -spring.datasource.druid.WebStatFilter.exclusions= -spring.datasource.druid.WebStatFilter.sessionStatMaxCount= -spring.datasource.druid.WebStatFilter.sessionStatEnable= -spring.datasource.druid.WebStatFilter.principalSessionName= -spring.datasource.druid.WebStatFilter.principalCookieName= -spring.datasource.druid.WebStatFilter.profileEnable= +spring.datasource.druid.web-stat-filter.enabled= #是否启用StatFilter默认值true +spring.datasource.druid.web-stat-filter.urlPattern= +spring.datasource.druid.web-stat-filter.exclusions= +spring.datasource.druid.web-stat-filter.sessionStatMaxCount= +spring.datasource.druid.web-stat-filter.sessionStatEnable= +spring.datasource.druid.web-stat-filter.principalSessionName= +spring.datasource.druid.web-stat-filter.principalCookieName= +spring.datasource.druid.web-stat-filter.profileEnable= # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置 -spring.datasource.druid.StatViewServlet.enabled= # 是否启用StatViewServlet默认值true -spring.datasource.druid.StatViewServlet.urlPattern= -spring.datasource.druid.StatViewServlet.resetEnable= -spring.datasource.druid.StatViewServlet.loginUsername= -spring.datasource.druid.StatViewServlet.loginPassword= -spring.datasource.druid.StatViewServlet.allow= -spring.datasource.druid.StatViewServlet.deny= +spring.datasource.druid.stat-view-servlet.enabled= #是否启用StatViewServlet默认值true +spring.datasource.druid.stat-view-servlet.urlPattern= +spring.datasource.druid.stat-view-servlet.resetEnable= +spring.datasource.druid.stat-view-servlet.loginUsername= +spring.datasource.druid.stat-view-servlet.loginPassword= +spring.datasource.druid.stat-view-servlet.allow= +spring.datasource.druid.stat-view-servlet.deny= -# Spring监控配置,说明请参考Druid Github Wiki,配置_配置WebStatFilter +# Spring监控配置,说明请参考Druid Github Wiki,配置_Druid和Spring关联监控配置 spring.datasource.druid.aop-patterns= # Spring监控AOP切入点,如x.y.z.service.*,配置多个英文逗号分隔 # 如果spring.datasource.druid.aop-patterns要代理的类没有定义interface请设置spring.aop.proxy-target-class=true ``` ### 如何配置多数据源 -添加数据源配置 +1. 添加数据源相关配置 ```xml spring.datasource.druid.one.url= spring.datasource.druid.one.username= spring.datasource.druid.one.password= spring.datasource.druid.one.driver-class-name= -spring.datasource.druid.one.maxActive= +spring.datasource.druid.one.max-active= ... spring.datasource.druid.two.url= spring.datasource.druid.two.username= spring.datasource.druid.two.password= spring.datasource.druid.two.driver-class-name= -spring.datasource.druid.two.maxActive= +spring.datasource.druid.two.max-active= ... ``` -使用```DruidDataSourceBuilder```创建数据源 +2. 使用```DruidDataSourceBuilder```创建数据源 ```java - @Primary - @ConfigurationProperties("spring.datasource.druid.one") - @Bean - public DataSource dataSourceOne(){ - return DruidDataSourceBuilder.create().build(); - } - @ConfigurationProperties("spring.datasource.druid.two") - @Bean - public DataSource dataSourceTwo(){ - return DruidDataSourceBuilder.create().build(); - } +@Bean +@Primary +public DataSource dataSourceOne(Environment env){ + return DruidDataSourceBuilder + .create() + .build(env, "spring.datasource.druid.one."); +} +@Bean +public DataSource dataSourceTwo(Environment env){ + return DruidDataSourceBuilder + .create() + .build(env, "spring.datasource.druid.two."); +} ``` ### 演示