package com.test.datasource;
import java.lang.reflect.Method;
import org.springframework.aop.AfterReturningAdvice;
import org.springframework.aop.MethodBeforeAdvice;
import com.test.annotation.TargetDataSource;
public class DataSourceExchange implements MethodBeforeAdvice, AfterReturningAdvice {
@Override
public void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable {
DataSourceHolder.clearDataSource();
}
@Override
public void before(Method method, Object[] args, Object target) throws Throwable {
// 这里TargetDataSource是自定义的注解
if (method.isAnnotationPresent(TargetDataSource.class)) {
TargetDataSource datasource = method.getAnnotation(TargetDataSource.class);
DataSourceHolder.setDataSource(datasource.name());
} else {
if(target.getClass().isAnnotationPresent(TargetDataSource.class))
{
TargetDataSource datasource = target.getClass().getAnnotation(TargetDataSource.class);
DataSourceHolder.setDataSource(datasource.name());
}
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
muldatasource.rar (44个子文件)
muldatasource
pom.xml 7KB
target
classes
mybatis-config.xml 308B
jdbc.properties 446B
com
test
dao
UserDao.class 209B
DogDao.class 392B
bean
User.class 762B
Dog.class 768B
annotation
TargetDataSource.class 644B
datasource
DataSourceExchange.class 2KB
DataSourceHolder.class 947B
DynamicDataSource.class 570B
controller
TestController.class 1KB
IndexController.class 589B
service
UserService.class 773B
DogService.class 1KB
spring-config.xml 5KB
mybatis
mapper
DogMapper.xml 342B
UserMapper.xml 494B
generated-sources
annotations
src
test
java
main
webapp
WEB-INF
web.xml 1KB
pages
index.jsp 208B
springMVC-servlet.xml 2KB
resources
mybatis-config.xml 308B
jdbc.properties 445B
spring-config.xml 5KB
mybatis
mapper
DogMapper.xml 342B
UserMapper.xml 494B
java
com
test
dao
DogDao.java 321B
UserDao.java 140B
bean
User.java 369B
Dog.java 389B
annotation
TargetDataSource.java 363B
datasource
DataSourceExchange.java 1KB
DataSourceHolder.java 545B
DynamicDataSource.java 421B
controller
TestController.java 865B
IndexController.java 302B
service
DogService.java 1KB
UserService.java 485B
.idea
uiDesigner.xml 9KB
misc.xml 526B
compiler.xml 546B
workspace.xml 31KB
inspectionProfiles
Project_Default.xml 1KB
muldatasource.iml 81B
共 44 条
- 1
reg183
- 粉丝: 1811
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0