return dataSourceTypes.get();
}
public static void set(DataSources dataSourceType){
dataSourceTypes.set(dataSourceType);
}
public static void reset(){
dataSourceTypes.set(DataSources.MASTER0);
}
}
3)定义 ThreadLocalRountingDataSource,继承AbstractRoutingDataSource:
package net.aazj.util;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
public class ThreadLocalRountingDataSource extends AbstractRoutingDataSource {
@Override
protected Object determineCurrentLookupKey() {
return DataSourceTypeManager.get();
}
}
4)在配置文件中向 ThreadLocalRountingDataSource 注入 master 和 slave 的数据源:
<context:component-scan base-package="net.aazj.service,net.aazj.aop" />
<context:component-scan base-package="net.aazj.aop" />
<!-- 引入属性文件 -->
<context:property-placeholder location="classpath:config/db.properties" />
<!-- 配置数据源Master -->
<bean name="dataSourceMaster" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-
2. Java中关于 BigDecimal 的一
个导致double精度损失的"bug"
(25)
3. 微信调用照相拍照等 js 接口的
权限配置 和 照片上传和下载实现
(10)
4. 微信开发(01)之如何成为开发者
(8)
5. 由获取微信access_token引出
的Java多线程并发问题(7)
推荐排行榜
1. Spring AOP 深入剖析(15)
2. 深入理解spring中的各种注解
(11)
3. 深入剖析 Spring 框架的
BeanFactory(10)
4. Spring, MyBatis 多数据源的配
置和管理(10)
5. 深入剖析jsonp跨域原理(8)