1. SpringBoot多数据源的实现
在参考了各个文档之后
有jpa形式
配置文件多为.yml
快速搭建springboot maven项目 多数据源
https://blog.csdn.net/pete1024/article/details/109273996
有Mybatis形式
配置文件多为.approterties形式
首先得理解classpath对应的是什么目录
classpath*又会对应哪些目录
而我的还是报生成SqlSessionFactoryBean异常,
原来是getDataSources在没认真对比的情况下,写成getDataSource,解决过程中完全没意识到有这个错误,当看到这篇文章才到,才想起之前就看到过有提到这个错误的文章。
而改过之后不再报找不到对应的mapper的.xml文件
(注意:.xml中的id在service中都必须存在,且pagckage也必须正常,否则很容易报reflect异常)。
Invalid bound statement (not found): 各种原因
https://blog.csdn.net/qq_37186947/article/details/88601304
Invalid bound statement (not found) 常见原因
https://blog.csdn.net/qq_32786139/article/details/107252962
package不一致导致的示例
https://stackoverflow.com/questions/55000770/mybatis-invalid-bound-statement-not-found
https://blog.csdn.net/qq_23994787/article/details/85777787
java.lang.reflect.InvocationTargetException
但仍报SqlSessionFactoryBean的异常,原因终算找到,看到这篇文章,原来需要MybatisSqlSessionFactoryBean。
Invalid bound statement (not found) 终极解决办法
https://www.cnblogs.com/tv151579/p/11565509.html
[参考]
SpringBoot多数据源中使用mybatis-plus出现Invalid bound statement (not found)
https://www.cnblogs.com/blwy-zmh/p/14756440.html
终算正常。这问题做完算是步步入坑。一周时间大部份时间花.xml not existed的问题上。
2. 增加不同拦截器的实现
实现了两个数据源之之后,新的问题随之而来,新增的登录接口,这个接需要在新的数据库用户表做查询,而那么现有拦截器不能做拦截,而需要放过,在新的拦截器中做token验证。
而新增拦截类后,需要在调用处new 新增拦截的函数上Bean注解。否则cache成员(为redis的接口)会为null产生空用引异常
因为token缓存用到了redis,正了解了关于redis的由来以用优缺点。
[参考]springboot整合Redis、mongodb
https://blog.csdn.net/weixin_39034379/article/details/85231121
之后有一个超时的请求超时的问题,key值不正确会造成访问超时
新的拦截器在同一样register处添加后,在原拦截器放过新增的登录接口后,拦截成功。