1.因爲項目開發須要動態切換多個數據源,查閱了好多博客,也嘗試了多種方法都不是很理想,所以對總結出一套本身的數據源切換方法。git
2.項目使用的鏈接池是阿里的DruidDataSource,直接先上配置信息,注意紅色框的信息,當前爲第一個數據源,同理再增長一個ds_two的數據源配置(須要對應修改數據庫或者url鏈接信息)github
3.而後再配置好的對應的數據源key值,爲後續切換數據源作準備,其餘的配置spring
4.spring的通用配置,須要注意的是pojo和mapper掃描時的包路徑應涵蓋其餘子項目的包路徑數據庫
5.接下來須要寫本身的aop切入方法,用於spring啓動時就進入對應的數據源掃描方法app
6.書寫本身註解類,對註解進行掃描的類,完成數據源的賦值ui
7.還須要繼承Spring的AbstractRoutingDataSource,重寫對應的數據源路由方法,至此基本完成了數據源的動態切換url
8.接下來介紹如何使用了,因爲我在DataSource上增長了註解可繼承@Inherited,所以咱們只須要在各子項目的Service父類上增長對應的註解,而後再在本身的Service類繼承對應的父類便可完成數據源切換。3d
9.至此基本可完成對數據源的切換,詳細的項目代碼已經放到github上,須要的同窗能夠去下載,以爲還行的話,就給個star吧。blog
github地址:https://github.com/linzx2015/SSM繼承
git clone地址:https://github.com/linzx2015/SSM.git