基于Spring Boot 的多数据源解决方案
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;
@SpringBootApplication
public class MultipleDataSourcesApplication {
public static void main(String[] args) {
SpringApplication.run(MultipleDataSourcesApplication.class, args);
}
@Bean
@Primary
public DataSource primaryDataSource() {
// 配置主数据源
return new MyPrimaryDataSource();
}
@Bean
public DataSource secondaryDataSource() {
// 配置第二数据源
return new MySecondaryDataSource();
}
@Bean
public JdbcTemplate primaryJdbcTemplate(@Qualifier("primaryDataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
@Bean
public JdbcTemplate secondaryJdbcTemplate(@Qualifier("secondaryDataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
}
在这个示例中,我们定义了两个数据源的Bean,并通过@Qualifier
注解指定了使用JdbcTemplate
时应该关联的数据源。这样,在需要执行数据库操作时,Spring会根据注解选择正确的数据源。
评论已关闭