先说总结:这过程中发现最主要的问题就是SpringBoot每个版本都有所改变,可能在上个版本可以适用,但下一个版本就不可以。因此需要查下资料看看使用的版本是否支持。
顺序:先从dao层迁移->service层->web层
1. 在dao迁移时遇到的问题:
jar包依赖冲突,这个问题原本很头痛,因为以前看网上的说法特别复杂,需要输入各种指令然后自己找哪几个包冲突之类的。后来发现一篇文章说利用maven插件:maven helper可以帮助我们快速查看哪几个包的版本冲突并且排除掉!
参考博客:在IDEA中解决jar包冲突_chetui2456的博客-CSDN博客
2.在service迁移时遇到的问题:
首先是Redis的config在配置时出现了循环依赖的错误,此错误经过发现是Springboot后来的版本禁止了循环依赖,以前的版本会对它自动进行处理。两种解决方式:
- 用ApplicationContext手动注入bean,不采用自动注入@Autowried
- 在application.properties中设置spring.main.allow-circular-references=true
此处采用了第二种方案,可行。但遇到了新的问题:依旧是redis的问题
Could not get a resource from the pool