AbstractRoutingDataSource 實現動態資料來源切換原理簡單分析
阿新 • • 發佈:2020-08-01
# AbstractRoutingDataSource 實現動態資料來源切換原理簡單分析
> 寫在前面,專案中用到了動態資料來源切換,記錄一下其執行機制。
## 程式碼展示
下面列出一些關鍵程式碼,後續分析會用到
1. 資料配置
```java
@Configuration
@PropertySource({ "classpath:jdbc.yml" })
@EnableTransactionManagement(proxyTargetClass = true)
public class DataConfig {
@Autowired
private Environment env ;
/**
* 將jdbc相關的異常轉換為spring的異常型別
*/
@Bean
public BeanPostProcessor persistenceTransLation(){
return new PersistenceExceptionTranslationPostProcessor() ;
}
/**
* 多資料來源
* @return
*/
@Bean
public DynamicDataSource dynamicDataSource(){
DynamicDataSource dynamicDataSource = new DynamicDataSource();
Map