首先是配置資料來源
//配置省略
bean>
//配置省略
bean>
map>
property>
bean>
資料來源是如何切換的呢?通過動態資料來源的配置我們知道原來是通過key來進行切換,這裡要使用到org.springframework.jdbc.datasource.lookup.abstractroutingdatasource
,我們可以編寫自己的動態資料來源類dynamicdatasource
來繼承它。
public class dynamicdatasource extends abstractroutingdatasource
}
還需要乙個存放key的地方datasourcecontextholder
為保證切換時執行緒安全我們使用threadlocal
來儲存我們的key。
public class datasourcecontextholder
// 獲取資料源型別
public static string gettype()
// 清除資料來源型別
public static void cleartype()
}
好了,我們可以通過操作datasourcecontextholder
來實現資料來源動態的切換了。小夥伴們可能會說了,難道每次呼叫方法都要手動選擇要切換的資料來源型別?當然不是啦,spring aop登場。
@component
@aspect
public class dynamicdatasourceaspect
public void writemethodpointcut() {}
@before("readmethodpointcut()")
public void switchreaddatasource()
@before("writemethodpointcut()")
public void switchwritedatasource()
}
spring 動態資料來源
spring 可以設定動態資料來源,這樣可以對程式來透明的支援切換操作不同的資料庫。這篇文章寫得非常不錯。測試通過,並準備在專案中使用這個方法。還有幾個問題希望大家給點意見 首先說一下我的需求 資料庫結構都是一樣,但具體有多少個資料庫不確定 視具體使用者而定 使用者操作那個資料庫要根據登入的時候進行...
spring動態資料來源
在實際的業務場景中,我們經常會遇到需要動態配置資料來源的情況,只需要修改配置,就能增加新的資料來源的接入,而不需要修改程式 通過動態資料來源技術可以實現這個目標。具體的 參照 示例專案 通常在用springboot開發資料庫應用時,我們會在配置檔案中配置好資料來源,程式中指定資料來源進行資料庫操作。...
spring 配置資料來源
spring配置資料來源包括 1.由jdbc驅動程式定義的資料來源 2.由jndi查詢的資料來源 3.連線池的資料來源 我們這裡介紹資料來源連線池的配置 xmlns xsi xsi schemalocation spring beans 2.5.xsd 這四個屬性是必須配置的。同時還有另外的一些配置...