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

169 篇文章 0 订阅
142 篇文章 0 订阅

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分析,及解决办法

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值