美文网首页
Spring Boot 使用过程中bug分析,及解决办法

Spring Boot 使用过程中bug分析,及解决办法

作者: 若丨寒 | 来源:发表于2020-09-08 10:26 被阅读0次

    写在前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南在Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下!
    GitHub地址:https://github.com/abel-max/Java-Study-Note/tree/master

    1、spring boot 快速入门过程中bug分析

    1.1

    Maven项目的setting文件配置错误,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:检查maven目录中的settings.xml的标签语法配置是否正确.

    1.2

    创建项目时网络连接超时,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:

    1)域名解析问题(与当地的域名服务器有关)

    2)网络阻塞问题(带宽有限,单同时的请求数量比较多)

    3)服务器线程有限(例如tomcat端线程数量配置的相对较少)

    1.3

    Maven项目的pom.xml文件报错,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:

    1. 检查网络配置(是否网络畅通,不能手机网络)

    2. 检测maven配置是否正确(严格按文档配置执行)。

    3. 右键项目maven update 强制更新。

    4. 更换maven私服仓库(选文档中的)

    1.4

    空指针异常(NullPointerException-NPE),如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:分析错误描述,找到自己写的类指定行号位置,看看哪个对象在进行方法调用,调用方法的对象有没有被赋值,检查为属性所在类是否交给了spring管理。~~~~

    1.5

    依赖注入失败,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:

    1. 检查错误代码中自己定义的类(例如DefaultCacheTests)中的属性

    2. 基于错误分析,哪个属性的值在进行依赖注入时失败了(例如DefaultCache)

    3. 检查注入失败的属性对应的对象是否交给了Spring管理(例如是否有特定注解描述,包结构是否正确)。

    1.6

    找不到对应的Bean对象,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:

    1. 检查你获取的这个对象实例的类型是否使用了特定注解描述(如@Component)

    2. 检查你获取的这个对象实例的类型所在的包是否正确(启动类包结构)

    3. 假如是基于Bean的名字进行Bean对象的获取,要检测Bean的名字是否正确。

    1.7

    依赖注入失败,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:

    1. 检查哪里对Cache进行了引用。

    2. 检查对Cache引用时使用的注解描述。

    3. 检查容器中Cache接口下实现类对象的定义(是否有多个?)。

    2、Spring Boot 基础中bug分析

    2.1

    2.1.1

    数据库版本及url配置问题,如下图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:在url中追加时区配置(serverTimezone=GMT%2B8)

    2.1.2

    数据库版本或url配置问题,如下图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:检查数据的服务是否已启动,连接数据的url配置是否正确,数据库版本与驱动是否匹配.

    2.1.3

    Spring Boot 使用过程中bug分析,及解决办法

    2.1.4

    数据库服务连接不上,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:检查数据库服务是否启动,连接数据库的用户名,密码是否正确.

    2.1.5

    访问的数据库不存在,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:检查url配置的数据库是否存在.

    2.1.6

    指定命名空间下的元素ID已经存在。

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:可能是GoodsDao接口或映射文件对应的映射元素有重复。

    2.2

    2.2.1

    MyBatis 绑定异常,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:

    1. 检查接口类全名与映射文件中的命名空间是否不一致。

    2. 检查接口方法名与映射文件中的元素是否不一致。

    3. 查接口方法参数与映射文件可接收的参数不匹配。

    4. 检查接口对应的映射文件路径是否配置不正确(mapper-locations)。

    2.2.2

    MyBatis 参数绑定异常,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:检查调用的dao方法参数与对应的SQL参数是否有映射关系.(SQL中的使用的ids参数可能没有使用@Param注解进行描述)

    2.3

    运行时的SQL语法问题,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:

    1. 认真分析操作中提示的SQL语法问题,以及出现的大概位置。

    2. 检测业务执行时传入的参数数据是否正常。

    2.4

    无限递归调用导致的栈内存溢出,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:基于错误检查自己写的类,哪里出现了循环递归调用。

    2.5

    JVM端口号被占用,如图-28所示:

    Spring Boot 使用过程中bug分析,及解决办法

    其解决方案为:

    1. 关闭已启动的tomcat,重新启动。

    2. 杀进程(windows)

    a) 查找进程id:netstat -ano|findstr "8080"

    b) 基于进程id杀进程:taskkill /f /pid 进程id

    2.6

    Spring Boot 使用过程中bug分析,及解决办法

    2.7

    Spring Boot 使用过程中bug分析,及解决办法

    2.8

    2.8.1

    URL响应资源不存在,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:检查tomcat启动是否OK,检查url对应的服务端资源是否匹配(客户端url与controller定义url),检查controller的包结构(所在包应在主启动类所在包的同包或子包中)。

    2.8.2

    视图解析失败,如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:检查视图解析器的配置是否有问题。

    2.8.3

    Spring Boot 使用过程中bug分析,及解决办法

    2.9

    2.9.1

    404问题(请求资源没找),如图所示:

    Spring Boot 使用过程中bug分析,及解决办法

    问题分析:

    1)检查tomcat启动是否OK.

    2)检查url对应的服务端资源是否存在

    3)检查访问的controller对象是否交给了spring管理。(例如是否有@Controller描述,包结构是否正确)

    2.9.2

    Spring Boot 使用过程中bug分析,及解决办法

    来源:https://www.tuicool.com/articles/ueEjEbj

    欢迎关注微信公众号【慕容千语】

    相关文章

      网友评论

          本文标题:Spring Boot 使用过程中bug分析,及解决办法

          本文链接:https://www.haomeiwen.com/subject/avddektx.html