来源:www.liaoxuefeng.com第一步:配置多数据源SpringBoot基础知识就不介绍了。推荐这个实用教程:https://github.com/javastacks...首先,我们在SpringBoot中配置两个数据源,第二个数据源是ro-datasource:spring:datasource:jdbc-url:jdbc:mysql://localhost/test用户名:rw密码:rw_password驱动程序类名:com.mysql。jdbc.Driverhikari:pool-name:HikariCPauto-commit:false...ro-datasource:jdbc-url:jdbc:mysql://localhost/test用户名:ro密码:ro_password驱动程序类名:com.mysql.jdbc.Driverhikari:pool-name:HikariCPauto-commit:false...在开发环境下,不需要配置主从数据库。只需要为数据库设置两个用户,一个rw有读写权限,另一个ro只有SELECT权限,模拟了生产环境中主从数据库的读写分离。在SpringBoot的配置代码中,我们初始化了两个数据源:@SpringBootApplicationpublicclassMySpringBootApplication{/***主数据源。*/@Bean("masterDataSource")@ConfigurationProperties(prefix="spring.datasource")DataSourcemasterDataSource(){logger.info("创建主数据源...");返回DataSourceBuilder.create().build();}/***从属(只读)数据源。*/@Bean("slaveDataSource")@ConfigurationProperties(prefix="spring.ro-datasource")DataSourceslaveDataSource(){logger.info("createslavedatasource...");返回DataSourceBuilder.create().build();}...}第二步:编写RoutingDataSource然后,我们使用Spring内置的RoutingDataSource将两个真实的数据源代理成一个动态数据源:}}对于这个RoutingDataSource,需要在SpringBoot中配置并设置为主数据源:@SpringBootApplicationpublicclassMySpringBootApplication{@Bean@PrimaryDataSourceprimaryDataSource(@Autowired@Qualifier("masterDataSource")DataSourcemasterDataSource,@Autowired@Qualifier("slaveDataSource")DataSourceslaveDataSource){logger.info("创建路由数据源...");Map