异常处理技巧丨创建MockMvc对象时空指针及SQL完整性约束冲突
一. 异常现象还原
壹哥在SpringBoot 2.2.5中,利用Mock进行测试代码时,首先要创建一个MockMvc对象,本来是系统利用MockMvcBuilders的webAppContextSetup()方
创建MockMvc对象时空指针异常 一. 异常现象还原 壹哥在SpringBoot 2.2.5中,利用Mock进行测试代码时,首先要创建一个MockMvc对象,本来是系统利用MockMvcBuilders的webAppContextSetup()方法来build出来,结果创建出来MockMvc对象后Mssq数据完整性约束,发现MockMvc对象产生了空指针异常。 pexels-sora-shimazaki-5668772.jpg debug调试发现MockMvc对象为空。 pexels-sora-shimazaki-5668772.jpg 二. 解决办法 解决办法就是更换一种MockMvc对象的创建方式,直接利用@AutoConfigureMockMvc注解,然后在MockMvc对象上添加@Autowired注解就可以自动创建出MockMvc对象了。 pexels-sora-shimazaki-5668772.jpg SQL完整性约束冲突异常 一. 异常现象还原 壹哥在做Java Web项目操作数据库添加数据的时候,项目启动时控制台曝出如下图所示异常: pexels-sora-shimazaki-5668772.jpg 二. 异常原因 java.sql.SQLIntegrityConstraintViolationException: 其实就是违反了数据库的唯一约束条件!也就是插入数据时,具有唯一约束条件的列值重复了。 根据我图中描述信息的展示可知,我的表中"test1"这一列是具有唯一约束的,现在插入列值时数据有重复了。 所以务必确认插入数据的主键或者具有唯一性约束的列不要有重复数据!!! 三. 解决办法 方法一:将具有唯一约束的列,取消唯一性约束; 方法二:保证插入的数据,与表中已有的数据不重复! 今天的异常学习学会啦吗?如有疑问可以在评论中留言哦! (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |