简单的改变选用哪个数据库的思路是,加一个AOP拦截一下请求,在这个去要拦截的请求上面加上你想要这个请求向哪个数据库发起(master还是slave)。让后在AOP里面对当前线程进行设置。但非常大的问题就是再整个链路中,只支持选择一次的数据源,显然这种方式缺陷比较大,也很容易出现问题;若我们希望实现在选择了一个数据源之后,在执行某个代码片段时,还可以继续再选择其他的数据源,那么应该怎么实现呢?
不想看,但大概的意思是之前的垃圾做法是在线程里设置一个string,这个string是在注解里自己设置的,现在的想法是搞成一个栈,先进先出吧,之后想看再看吧。。
还有就是今天知道了注解自定义的时候,如果某个属性名是value,在使用注解的时候,如果没有相同属性的其他属性(如和value都是int)的话,可以省略value=xxx。
幻想成为一个打工皇帝