
springboot1.x版本
配置文件
spring:
datasource:
url: jdbc:sqlserver://192.168.122.111;DatabaseName=flight
username: sa
password: 1234.abcd
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
seconddatasource:
url: jdbc:sqlserver://192.168.122.111;DatabaseName=flight2
username: sa
password: 1234.abcd
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
java配置类
@Primary
@Bean
@ConfigurationProperties(prefix = "spring.seconddatasource")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secodDataSource")
@ConfigurationProperties(prefix = "spring.seconddatasource")
public DataSource secodDataSource() {
return DataSourceBuilder.create().build();
}
@Primary
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
@Bean(name = "secondJdbcTemplate")
public JdbcTemplate secondJdbcTemplate(@Qualifier(value = "secodDataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
springboot2.x版本
升级之后的版本使用了托管DataSourceProperties的方式来对数据配置从新赋值,或者将配置文件的数据库url替换成jdbc-url
@Bean
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSourceProperties dataSourceProperties(){
return new DataSourceProperties();
}
@Bean("secondProperties")
@ConfigurationProperties(prefix = "spring.seconddatasource")
public DataSourceProperties secondProperties(){
return new DataSourceProperties();
}
@Primary
@Bean
public DataSource dataSource(DataSourceProperties dataSourceProperties) {
return dataSourceProperties.initializeDataSourceBuilder().build();
}
@Bean(name = "secodDataSource")
public DataSource secodDataSource(@Qualifier(value = "secondProperties") DataSourceProperties dataSourceProperties) {
return dataSourceProperties.initializeDataSourceBuilder().build();
}




近期评论