From 56dfac3d84475e6d01f2d05f057fead1bcfb60ac Mon Sep 17 00:00:00 2001 From: trang Date: Wed, 19 Jul 2017 14:50:48 +0800 Subject: [PATCH] document --- README.md | 4 +-- TODO.md | 4 +-- docs/DruidMultiDataSource.md | 32 ++++++++++++++++++++++ docs/DynamicDataSource.md | 42 ----------------------------- druid-spring-boot-samples/README.md | 4 ++- 5 files changed, 39 insertions(+), 47 deletions(-) create mode 100644 docs/DruidMultiDataSource.md delete mode 100644 docs/DynamicDataSource.md diff --git a/README.md b/README.md index 207c2f4..3da8c7b 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ spring: ### Druid 高级特性 Druid Spring Boot Starter 添加了 Druid 的大部分特性,如 StatFilter、WallFilter、ConfigFilter、WebStatFilter 等,其中 StatFilter 默认打开,其它特性默认关闭,需要手动开启。 -同样,每个特性的参数均可自定义,具体参数可以用 IDE 的自动提示功能或者阅读 Druid 的 [Wiki](https://github.com/alibaba/druid/wiki/%E9%A6%96%E9%A1%B5) 查看。 +同样,每个特性的参数均可自定义,具体配置可以用 IDE 的自动提示功能或者阅读 Druid 的 [Wiki](https://github.com/alibaba/druid/wiki/%E9%A6%96%E9%A1%B5) 查看。 ```yaml spring: @@ -87,7 +87,7 @@ spring: ``` ### 多数据源 -1.0.2 版本新增多数据源支持,使用方式请查看 [DynamicDataSource.md](https://github.com/drtrang/druid-spring-boot/tree/master/docs/DynamicDataSource.md)。 +1.0.2 版本新增多数据源支持,使用方式请查看 [DruidMultiDataSource.md](https://github.com/drtrang/druid-spring-boot/tree/master/docs/DruidMultiDataSource.md)。 ### 配置示例 [application.yml](https://github.com/drtrang/druid-spring-boot/blob/master/druid-spring-boot-samples/src/main/resources/application.yml) diff --git a/TODO.md b/TODO.md index 76b8bba..c397459 100644 --- a/TODO.md +++ b/TODO.md @@ -1,4 +1,4 @@ # TODO -## 1.0.3 -1. 增加 `ConfigFilter` 的配置,替换默认的 ConnectProperties 方式 \ No newline at end of file +1. 新增 `ConfigFilter` 的配置,替换默认的 ConnectProperties 方式 +2. 新增 `@EnableDynamicDruidDataSource`,自动配置动态数据源 \ No newline at end of file diff --git a/docs/DruidMultiDataSource.md b/docs/DruidMultiDataSource.md new file mode 100644 index 0000000..8332a44 --- /dev/null +++ b/docs/DruidMultiDataSource.md @@ -0,0 +1,32 @@ +# Druid 多数据源支持 + +1.0.2 版本新增支持多数据源的 `DruidMultiDataSource`,开启该特性需要手动声明数据源,并指定注入的前缀 `spring.datasource.druid.${name}`,其中 `${name}` 可根据实际情况自定义。 + + +## 使用方式 +1. 声明各个 DataSource,类型为 `com.github.trang.druid.datasource.DruidMultiDataSource`,该 Bean 会注入 `spring.datasource.druid.one` 前缀的配置,并继承 `spring.datasource.druid` 的配置。 + ```java + @Bean + @ConfigurationProperties("spring.datasource.druid.one") + public DruidDataSource firstDataSource() { + return new DruidMultiDataSource(); + } + ``` + +2. 手动排除 `org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration`,以下方式任选其一: + 1. 在 `@SpringBootApplication` 注解中排除 + ```java + @SpringBootApplication(exclude = DataSourceAutoConfiguration.class) + ``` + 2. 在 `application.yml` 中排除 + ```yaml + spring: + autoconfigure: + exclude: + - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration + ``` + + +## 示例 +将 [druid-spring-boot-samples](https://github.com/drtrang/druid-spring-boot/tree/master/druid-spring-boot-samples) 中 +[application.yml](https://github.com/drtrang/druid-spring-boot/blob/master/druid-spring-boot-samples/src/main/resources/application.yml) 的 `spring.profiles.active` 配置改为 `dynamic` 即可。 \ No newline at end of file diff --git a/docs/DynamicDataSource.md b/docs/DynamicDataSource.md deleted file mode 100644 index 8b217c4..0000000 --- a/docs/DynamicDataSource.md +++ /dev/null @@ -1,42 +0,0 @@ -# Dynamic Data Source - -1.0.2 版本中新增多数据源支持,开启该特性需要手动声明各个 DataSource,并指定注入的前缀(`spring.datasource.druid.${name}`), -其中 `${name}` 可根据实际情况自定义。 - - -## 使用方式 -1. 手动声明 DataSource,类型为 `com.github.trang.druid.datasource.DruidMultiDataSource`,该 Bean 会继承 `spring.datasource.druid` 的配置, -并且注入 `spring.datasource.druid.one` 的配置,若名称相同则覆盖 `spring.datasource.druid`。 - -```java -@Bean -@ConfigurationProperties("spring.datasource.druid.one") -public DruidDataSource firstDataSource() { - return new DruidMultiDataSource(); -} - -@Bean -@ConfigurationProperties("spring.datasource.druid.two") -public DruidDataSource secondDataSource() { - return new DruidMultiDataSource(); -} -``` - -2. 手动排除 `org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration`,以下方式任选其一: - 1. 在 `@SpringBootApplication` 注解中排除 - ```java - @SpringBootApplication(exclude = DataSourceAutoConfiguration.class) - ``` - 2. 在 `application.yml` 中排除 - ```yaml - spring: - autoconfigure: - exclude: - - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration - ``` - - -## 示例 -将 [druid-spring-boot-samples](https://github.com/drtrang/druid-spring-boot/tree/master/druid-spring-boot-samples) 中 -[application.yml](https://github.com/drtrang/druid-spring-boot/blob/master/druid-spring-boot-samples/src/main/resources/application.yml) -的 `spring.profiles.active` 配置改为 `dynamic` 即可。 \ No newline at end of file diff --git a/druid-spring-boot-samples/README.md b/druid-spring-boot-samples/README.md index 00c9f2e..e8dd9e2 100644 --- a/druid-spring-boot-samples/README.md +++ b/druid-spring-boot-samples/README.md @@ -1,3 +1,5 @@ # Druid Spring Boot Samples -默认 \ No newline at end of file +druid-spring-boot-samples 项目演示了 [Druid Spring Boot Starter](https://github.com/drtrang/druid-spring-boot) 的使用方式。将项目导入 IDE 后,直接执行 `com.github.trang.druid.DruidSpringBootStarterApplication#main()` 即可,无需依赖其它环境。 + +项目默认使用单数据源,将 [application.yml](https://github.com/drtrang/druid-spring-boot/blob/master/druid-spring-boot-samples/src/main/resources/application.yml) 的 `spring.profiles.active` 配置改为 `dynamic` 即可切换为多数据源示例。 \ No newline at end of file