使用 Spring 配置動態資料來源實現讀寫分離

2022-08-12 12:45:09 字數 1161 閱讀 3856

首先是配置資料來源

//配置省略

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 這四個屬性是必須配置的。同時還有另外的一些配置...