Druid 多数据源配置com.alibaba druid-spring-boot-starter 1.2.8
配置文件配置
spring:
datasource:
url: jdbc://mysql:192.168.137.127:3306/test
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
druid:
one:
initial-size: 1
max-active: 20
min-idle: 1
max-wait: 6000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
#max-open-prepared-statements: 和上方属性一样
validation-query: "select 1 from dual"
validation-query-timeout: 10000
test-on-borrow: false
test-on-return: false
test-while-idle: true
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
max-evictable-idle-time-millis: 600000
filters: "stat,wall"
async-init: true
two:
url: jdbc://mysql:192.168.137.126:3306/test
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
initial-size: 1
max-active: 20
min-idle: 1
max-wait: 6000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
#max-open-prepared-statements: 和上方属性一样
validation-query: "select 1 from dual"
validation-query-timeout: 10000
test-on-borrow: false
test-on-return: false
test-while-idle: true
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
max-evictable-idle-time-millis: 600000
filters: "stat,wall"
async-init: true
配置类
@Configuration
public class DataSourceConfig {
//当不指定数据源时使用该数据源
@Bean
@Primary
@ConfigurationProperties("spring.datasource.druid.one")
public DataSource dataSource(){
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.druid.two")
public DataSource dataSourceTwo(){
return DruidDataSourceBuilder.create().build();
}
}
数据源注入
@RestController
public class HelloWordController {
//注入指定数据源
@Resource(name = "dataSourceTwo")
private DataSource dataSource;
@Resource
private SayService sayService;
@RequestMapping("/hello/{name}")
public String sayHello(@PathVariable("name") String name) {
return sayService.say("hello "+name);
}
}



