数据源注解失效的示例 (默认数据源为master)
注解生效要是spring aop方方式
aop是动态代理 用this没有走代理类方法 调的是本地方法
@Service
public class BService {
@Resource
private BMapper bMapper;
@Resource
private AService aService;
@DS(DataSourceConstants.SLAVER)
public List<Person> select() {
List<String> name = aService.selectDistinctName();
return select();
}
@DS(DataSourceConstants.SLAVER)
public List<Person> select() {
return bMapper.select();
}
}
@Service
public class BService {
@Resource
private BMapper bMapper;
@Resource
private AService aService;
@DS(DataSourceConstants.SLAVER)
public List<Person> select() {
List<String> name = aService.selectDistinctName();
BService bean = SpringContextUtils.getBean(BService.class);
return bean.select();
}
@DS(DataSourceConstants.SLAVER)
public List<Person> select() {
return bMapper.select();
}
}