说说SpringBoot数据源加载及其对多数据源的简单实现,实时效果附录效果图实现思路本文提供的方法仅针对类似的简单业务场景。在生产环境和复杂的业务场景,请使用分库分表的中间件(如mycat)或者框架sharding-sphere(一直在用)等。我们先来看看Spring默认的数据源注入策略.以下代码中的默认事务管理器在初始化期间返回加载数据源实现。这里是我们动态数据源的入口//默认事务管理器ppublicclassDataSourceTransactionManagerextendsAbstractPlatformTransactionManagerimplementsResourceTransactionManager,InitializingBean{//在启动时注入一个数据源publicvoidsetDataSource(@NullableDataSourcedataSource){if(dataSourceinstanceofTransactionProxy)DataSource{this.dataSource=((TransactionAwareDataSourceProxy)dataSource).getTargetDataSource();}else{this.dataSource=dataSource;}}”是通过注入一个新的DataSourceTransactionManager并为其设置多个DataSource来实现多数据源。Spring默认提供的路由数据源字段publicabstractclassAbstractRoutingDataSourceextendsAbstractDataSourceimplementsInitializingBean{//设置的所有数据源配置user@NullableprivateMap