Spring Cloud多数据源配置与使用
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties("spring.datasource.primary")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties("spring.datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
return sessionFactory.getObject();
}
@Bean
@Primary
public SqlSessionTemplate primarySqlSessionTemplate(@Qualifier("primaryDataSource") DataSource dataSource) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory(dataSource));
}
@Bean
public SqlSessionTemplate secondarySqlSessionTemplate(@Qualifier("secondaryDataSource") DataSource dataSource) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory(dataSource));
}
}
这个代码示例展示了如何在Spring Cloud应用中配置和使用多个数据源。通过@ConfigurationProperties
注解,我们可以方便地将配置文件中的属性绑定到对应的数据源构建器中。@Primary
注解指定了主数据源,这对于在需要默认数据源的场景中非常有用。此外,提供了两个SqlSessionTemplate
实例,分别用于不同的数据源操作。
评论已关闭