栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSM项目转SpringBoot所遇到的问题记录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSM项目转SpringBoot所遇到的问题记录

​先说总结:这过程中发现最主要的问题就是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

经过查询,发现是本地需要先开启redis-server才可以。这个连环坑让我差点自闭还好多看了好几篇文章解决了第一个坑,第二个坑偶然间有个直觉是我没启动redis才出现的问题。

3.在做web迁移时遇到的问题:

首先遇到的问题是:

Unable to locate the default servlet for serving static content. Please set the 'defaultServletName' property explicitly.

说的是MvcConfiguration里面的这段代码出现了问题:

@Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); }

原因是Spring Boot2.4发行说明中所述,默认情况下,嵌入式Servlet容器提供的DefaultServlet不再注册。如果您的应用程序需要它,就像您的应用程序所做的那样,您可以通过将server.servlet.register-default-servlet设置为true来启用它。(依旧走了版本不再支持的大坑)

在application.properties:

#解决redis的依赖循环
spring.main.allow-circular-references=true
#解决MvcConfiguration中的嵌入式Servlet容器提供的DefaultServlet不再注册
server.servlet.register-default-servlet=true


解决后,又遇到spring boot 找不到 httpServletMapping,这里依旧是SpringBoot版本导致的:因为每个springboot不同版本内置的tomcat都不一样!!(得知原因后简直要疯,Springboot说方便但缺遇到这么多版本坑,这里禁止、那里禁止…

java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapping()javax/ser...

网上的这篇博客无法解决我的问题但可以参考:

    有网友是用降低spring boot版本改为2.0.4或2.0.8解决或者是照上面的方法解决,按照自己的tomcat版本加入:8.5.37

到了这里,我的问题依旧没有解决。又疯狂搜索了很多文章,终于在这篇的评论里解决了!【附上评论:如果是SSM,可以将pom依赖里的servlet-api这个依赖的scope改为provided,应该是和tomcat自带的冲突了】
我把它改为这样,然后成功开启了mvc,太不容易了:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760723.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号