Spring Boot 多数据源配置详解
@Configuration
public class DataSourceConfig {
@Bean(name = "primaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.primary")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secondaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "jdbcTemplatePrimary")
public JdbcTemplate primaryJdbcTemplate(
@Qualifier("primaryDataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
@Bean(name = "jdbcTemplateSecondary")
public JdbcTemplate secondaryJdbcTemplate(
@Qualifier("secondaryDataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
}
这个配置类定义了两个数据源和对应的JdbcTemplate
实例。通过@ConfigurationProperties
注解,它们分别绑定了前缀为spring.datasource.primary
和spring.datasource.secondary
的配置属性。这样,在application.properties
或application.yml
文件中,我们可以为每个数据源配置不同的连接参数。通过@Qualifier
注解,我们可以在需要使用特定数据源的地方注入对应的JdbcTemplate
实例。
评论已关闭