借助Spring_AOP和Aspect实现数据源动态切换
RoutingDataSourceImpl extends AbstractRountingDataSource,重写<br>determineDatasource,注入到SqlSessionFactory,配置defaultTargetDataSource和<br>targetDatasource(根据detemineDatasource的返回值选择具体数据源value-ref)
DatasourceAspect切面组件,配置切入点@Pointcut aspect()(所有DAO类的所有方法),<br>配置前置增强@Before("aspect()") before(Joinpoint point),通过ponit.getSignature.getName<br>获取方法名,与NETHOD_TYPE_MAP的前缀集合对比,将write/read设置到当前线程上,(也是<br>接下来要执行DAO方法的形成,前置增强将其拦截下来了)
DatasourceHandler,使用ThreadLoacal在前置通知中将方法要使用到的数据源绑定到执行该方法的<br>线程上,执行方法要获取数据源时再根据当前线程获取