# spring-dbutil
**Repository Path**: bpzhang/spring-dbutil
## Basic Information
- **Project Name**: spring-dbutil
- **Description**: 切换spring数据源的工具,使用aop注解方式进行快速切换,减少编码的入侵
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 84
- **Created**: 2015-04-23
- **Last Updated**: 2020-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#dbutil
## 说明
基于Spring的 *AbstractRoutingDataSource* 进行简单的封装,方便进行数据源的切换,目前主要用于主从数据库的读写切换上。
## 使用
### 添加依赖
com.tanghd.spring
dbutil
0.0.1-SNAPSHOT
### 配置xml (spring + mybatis)
...
### 代码里使用
public void queryXXX(){
DynamicDataSource.use("readonly");
try{
...
}finally{
DynamicDataSource.reset();
}
}
### 扩展项
可以使用Spring-AOP进行扩展,减少对代码的入侵。目前支持Aspect和Spring-AOP方式。
#### Aspect
* 需要依赖spring-aspects、aspectjrt、aspectjweaver
* spring的xml配置:
* 代码示例:
@DataSourceChange("readonly")
public void queryXXX(){
...
}
#### SpringAOP
不使用aspect,这种方式提供了支持@See DataSourceAdvisor.java,目前还没用到,示例略,只是配置上和Aspect不同,使用方式同样是通过注解来进行改变当前使用的数据源