BUG集

IDEA中xml文件创建问题

在IDEA中创建xml文件时,通过在目录上右键选中New-File

创建时,没有写后缀,结果后面再创建时,导致xml文件的图标这样显示

解决方法是:点击菜单栏的File-Settings-Editor-File Types
image.png

操作完之后即可。


spring AOP面向切面中出现的异常:

image.png

在使用@Async去描述方法时,被描述的方法会成为一个异步切入点方法,同时需要注意的是,这个注解描述的方法不能有返回值,若要有返回值要进行封装。该异常因为方法有返回值,而返回值又没有封装过造成的。


spring中事务的控制出现的异常:

image.png
这是因为在通过使用@Transactional注解来描述类或方法进行事务的控制时,设置了timeout属性,也就是事务的超时时间设置,当事务一直没有结束并超过了设置的超时时间,就会抛出该异常。


配置shiro出现的异常:

image.png
在配置shiro的时候,将已有的shiro-spring依赖替换掉之后,项目启动时就会抛出这样的异常。解决方法是要配置一个realm。


用idea创建的项目不会自动下载依赖解决方法:


如果不在maven区,添加到maven区


找到需要添加的项目的pom文件添加即可


没有输出路径问题解决方法:




编译时找不到对应的对象


其原因:
1.此类所在的包,不在启动类所在包以及子包
2.此类没有用spring指定的注解进行描述(比如@Component)


空指针异常


空指针异常出现的原因:
1.使用null对象访问了属性
2.使用null对象访问了方法

NullPointerException(空指针异常NPE)解决方法:
1.检查出现空指针异常那一行代码中访问属性或方法的对象的值是否为null
2.假如访问属性或方法的对象为null,则检查此对象的赋值方式(假如由spring赋值则需要此对象所在类要交给spring管理,并且此属性上是否有@Autowired等注解进行描述或者是通过构造方法,set方法进行了赋值)
3.假如是springboot工程单元测试类,要检查单元测试类中的测试方法上@Test注解引入的包是否正确(是否为org.junit.jupiter.api.Test)


IllegalStateException异常


上面的异常描述的是找不到项目的启动类
原因:
1.单元测试类不在启动类所在包以及子包
2.项目中没有定义启动类,或者是启动类没有用@SpringBootApplication注解描述


上面的异常描述的是找到多个启动类,对于SpringBoot工程而言,启动类只能有一个,并且要使用@SpringBootApplication注解描述。


ParameterResolutionException异常


上面描述的是单元测试方法中添加了参数。


UnsatisfiedDependencyException异常


这里的异常表示依赖注入异常(spring为属性赋值时,找不到属性对应的配置信息),检查Bean所在的包以及Bean上的注解描述


此异常也是依赖注入异常,上面异常描述的是在为cache赋值时,找到了两个Cache类型,不知道赋值哪一个。
当spring进行属性值的注入时,假如这个属性的类型对应的实例有多个,底层需要一个信息,要为属性注入哪个实例的值,默认是检测哪个bean的名字与属性名相同,如果没有与属性名相同的bean的名字则注入失败


与数据库连接时出现的异常


此问题表示与数据库建立连接时,通讯异常,导致这个问题的原因可能是mysql服务没启动

出现此问题的原因一般是连接数据库的用户名和密码配置错误

出现此问题的原因是因为端口后多了一个/


MyBatis中的BindingException绑定异常


MyBatis中的BindingException描述的是我们的数据逻辑层对象通过MyBatis API访问数据库时我们定义的sql映射与底层基于@Mapper生成的实现类中定义的statement不同。
解决方法:
1.检查配置文件中的配置与实际映射文件的定义路径是否匹配(从磁盘目录看看)
2.检查Dao类全名是否与映射文件namesapce值相同(注意单词错误和空格)
3.检查Dao接口方法名是否与映射文件中的元素id相同(注意单词错误和空格)
4.假如以上几点都没有问题,对项目进行重新rebuild


无效的参数异常


显示mybatis的SqlSession实现与数据库会话时,无法通过你提供的namespace+elementId找到对应的映射SQL。
可能出现这种错误的原因:
1.springboot配置文件中配置的映射文件的路径与实际映射文件路径不符
2.检查命名空间以及元素id单词是否写错
3.检查命名空间和元素id是否多写了空格


网页405异常


客户端提交数据的方式与服务端处理请求的方式不匹配
例如客户端提交数据是post,服务端处理数据是put这种情况就会出现405


网页500异常


500异常要看服务端的控制台的错误

这里的错误显示为模板输入异常(找不到对应的html模板)
解决方案:
1.打开SpringBoot配置文件,检查thymeleaf中前后缀的配置,是否在指定目录下存在这个view

2.例如模板存在但是依旧是这个错误,对项目module进行重新rebuild
3.例如这个值不是view,出现此异常时一般是客户端访问的url与服务端定义的url不匹配


网页404异常


404问题表示客户端请求的资源不存在;解决方案:
1.请求的url是否正确,这个url对应的服务端资源路径是否存在
2.检查这个url对应的controller是否交给了spring管理(包结构是否正确,是否被@Controller这样注解所描述)
3.若以上两个步骤都没问题,对项目进行rebuild


网页406异常


解决方案:检查pojo对象中是否提供了get方法



这里的描述是项目中没有发现对应的小图标favicon.ico



客户端提交的请求头的设计有问题



并发修改异常,使用for循环迭代集合中元素时,是不允许从集合直接删除元素或修改元素。建议使用迭代器的方式



这里的错误描述的是findObjects对应的sql映射没有指定resultType,也没有指定resultMap映射



这是SQL完整性约束异常(例如表中username的值设计时不允许重复,但是在重复的写入相同的内容)



这是启动失败了,描述的是这个bean不能被注入,因为这是一个JDK动态代理。系统底层产生的JDK代理是一个兄弟类


反射异常


描述的是无法给类中的menuIds属性设置值。原因是pojo类中menuIds类型用的是Integer[],改为List<Integer>类型就好了。因为这个是一对多,通过反射应该映射为List


16 声望
8 粉丝
0 条评论
推荐阅读
windows系统快捷键
打开计算器:命令启动WIN+R打开运行对话框,输入calc,可启动计算器小程序。

阅读 385

开源问答社区软件 Answer 1.0 正式版发布!
这是继 10 月 Alpha 版本发布后的首个正式版本。你可以使用 Answer 高效地搭建一个问答知识社区,并用于产品技术问答、客户支持、用户交流等场景。

AnswerDev7阅读 2.3k评论 1

封面图
PHP转Go实践:xjson解析神器「开源工具集」
我和劲仔都是PHP转Go,身边越来越多做PHP的朋友也逐渐在用Go进行重构,重构过程中,会发现php的json解析操作(系列化与反序列化)是真的香,弱类型语言的各种隐式类型转换,很大程度的减低了程序的复杂度。

王中阳Go9阅读 1.4k评论 2

封面图
2022风云变幻的一年,我开始思考生活的意义
2022 年对所有人来说,是束缚的一年、也是艰难的一年。这一年疫情起起伏伏,商场歇业,饭店关门,在工作之余吃一碗热乎的刀削面也成了奢侈。对一个北漂来说,“回家”和“进京”从未如此艰难。假期好不容易回趟家,结...

杨成功9阅读 1.3k评论 1

封面图
技术社区的朋友们,让我们在 2050 团聚吧!
提到 2050 你会想到什么? ——第一批 00 后步入 50 岁,刚刚出生的孩子们成为这个世界的中流砥柱;如科幻般的世界:上天下地、无尽探索、发达的医疗、先进的交通;

SegmentFault思否5阅读 12.9k评论 1

与RabbitMQ有关的一些知识
工作中用过一段时间的Kafka,不过主要还是RabbitMQ用的多一些。今天主要来讲讲与RabbitMQ相关的一些知识。一些基本概念,以及实际使用场景及一些注意事项。

lpe2348阅读 1.8k

封面图
万字详解,吃透 MongoDB!
MongoDB 是一个基于 分布式文件存储 的开源 NoSQL 数据库系统,由 C++ 编写的。MongoDB 提供了 面向文档 的存储方式,操作起来比较简单和容易,支持“无模式”的数据建模,可以存储比较复杂的数据类型,是一款非常...

JavaGuide4阅读 377

封面图
16 声望
8 粉丝
宣传栏