Commit e6a0654f by stylefeng

更改多数据源配置

parent ac5315d9
...@@ -47,18 +47,18 @@ spring: ...@@ -47,18 +47,18 @@ spring:
spring: spring:
profiles: dev profiles: dev
#多数据源情况的配置,注意第一个数据源是guns.datasource
guns:
datasource: datasource:
url: jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC url: jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC
username: root username: root
password: root password: root
db-name: guns #用来搜集数据库的所有表 db-name: guns #用来搜集数据库的所有表
filters: wall,mergeStat filters: wall,mergeStat
#多数据源情况的配置
guns:
muti-datasource: muti-datasource:
open: false open: false
url: jdbc:mysql://127.0.0.1:3306/guns2?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC url: jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC
username: root username: root
password: root password: root
dataSourceNames: dataSourceNames:
......
package com.stylefeng.guns.core.config; package com.stylefeng.guns.core.config;
import com.stylefeng.guns.core.config.properties.DruidProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource; import org.springframework.context.annotation.PropertySource;
...@@ -13,4 +16,10 @@ import org.springframework.context.annotation.PropertySource; ...@@ -13,4 +16,10 @@ import org.springframework.context.annotation.PropertySource;
@PropertySource("classpath:/default-config.properties") @PropertySource("classpath:/default-config.properties")
public class DefaultProperties { public class DefaultProperties {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DruidProperties druidProperties() {
return new DruidProperties();
}
} }
...@@ -13,6 +13,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; ...@@ -13,6 +13,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import java.sql.SQLException; import java.sql.SQLException;
...@@ -33,12 +34,6 @@ import java.util.HashMap; ...@@ -33,12 +34,6 @@ import java.util.HashMap;
public class MultiDataSourceConfig { public class MultiDataSourceConfig {
@Bean @Bean
@ConfigurationProperties(prefix = "guns.datasource")
public DruidProperties druidProperties() {
return new DruidProperties();
}
@Bean
@ConfigurationProperties(prefix = "guns.muti-datasource") @ConfigurationProperties(prefix = "guns.muti-datasource")
public MutiDataSourceProperties mutiDataSourceProperties() { public MutiDataSourceProperties mutiDataSourceProperties() {
return new MutiDataSourceProperties(); return new MutiDataSourceProperties();
...@@ -52,7 +47,7 @@ public class MultiDataSourceConfig { ...@@ -52,7 +47,7 @@ public class MultiDataSourceConfig {
/** /**
* guns的数据源 * guns的数据源
*/ */
private DruidDataSource dataSourceGuns(DruidProperties druidProperties) { private DruidDataSource dataSource(DruidProperties druidProperties) {
DruidDataSource dataSource = new DruidDataSource(); DruidDataSource dataSource = new DruidDataSource();
druidProperties.config(dataSource); druidProperties.config(dataSource);
return dataSource; return dataSource;
...@@ -74,7 +69,7 @@ public class MultiDataSourceConfig { ...@@ -74,7 +69,7 @@ public class MultiDataSourceConfig {
@Bean @Bean
public DynamicDataSource mutiDataSource(DruidProperties druidProperties, MutiDataSourceProperties mutiDataSourceProperties) { public DynamicDataSource mutiDataSource(DruidProperties druidProperties, MutiDataSourceProperties mutiDataSourceProperties) {
DruidDataSource dataSourceGuns = dataSourceGuns(druidProperties); DruidDataSource dataSourceGuns = dataSource(druidProperties);
DruidDataSource bizDataSource = bizDataSource(druidProperties, mutiDataSourceProperties); DruidDataSource bizDataSource = bizDataSource(druidProperties, mutiDataSourceProperties);
try { try {
...@@ -116,4 +111,15 @@ public class MultiDataSourceConfig { ...@@ -116,4 +111,15 @@ public class MultiDataSourceConfig {
public OptimisticLockerInterceptor optimisticLockerInterceptor() { public OptimisticLockerInterceptor optimisticLockerInterceptor() {
return new OptimisticLockerInterceptor(); return new OptimisticLockerInterceptor();
} }
/**
* 事务配置
*
* @author stylefeng
* @Date 2018/6/27 23:11
*/
@Bean
public DataSourceTransactionManager dataSourceTransactionManager(DynamicDataSource mutiDataSource) {
return new DataSourceTransactionManager(mutiDataSource);
}
} }
...@@ -7,7 +7,6 @@ import com.stylefeng.guns.core.config.properties.DruidProperties; ...@@ -7,7 +7,6 @@ import com.stylefeng.guns.core.config.properties.DruidProperties;
import com.stylefeng.guns.core.datascope.DataScopeInterceptor; import com.stylefeng.guns.core.datascope.DataScopeInterceptor;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
...@@ -24,17 +23,11 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; ...@@ -24,17 +23,11 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@MapperScan(basePackages = {"com.stylefeng.guns.modular.*.dao"}) @MapperScan(basePackages = {"com.stylefeng.guns.modular.*.dao"})
public class SingleDataSourceConfig { public class SingleDataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DruidProperties druidProperties() {
return new DruidProperties();
}
/** /**
* 单数据源连接池配置 * 单数据源连接池配置
*/ */
@Bean @Bean
public DruidDataSource singleDatasource(DruidProperties druidProperties) { public DruidDataSource dataSource(DruidProperties druidProperties) {
DruidDataSource dataSource = new DruidDataSource(); DruidDataSource dataSource = new DruidDataSource();
druidProperties.config(dataSource); druidProperties.config(dataSource);
return dataSource; return dataSource;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment