IDEA中xml文件创建问题
在IDEA中创建xml文件时,通过在目录上右键选中New-File
创建时,没有写后缀,结果后面再创建时,导致xml文件的图标这样显示
解决方法是:点击菜单栏的File-Settings-Editor-File Types
操作完之后即可。
spring AOP面向切面中出现的异常:
在使用@Async去描述方法时,被描述的方法会成为一个异步切入点方法,同时需要注意的是,这个注解描述的方法不能有返回值,若要有返回值要进行封装。该异常因为方法有返回值,而返回值又没有封装过造成的。
spring中事务的控制出现的异常:
这是因为在通过使用@Transactional注解来描述类或方法进行事务的控制时,设置了timeout属性,也就是事务的超时时间设置,当事务一直没有结束并超过了设置的超时时间,就会抛出该异常。
配置shiro出现的异常:
在配置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异常
这里的描述是项目中没有发现对应的小图标favicon.ico
并发修改异常,使用for循环迭代集合中元素时,是不允许从集合直接删除元素或修改元素。建议使用迭代器的方式
这里的错误描述的是findObjects对应的sql映射没有指定resultType,也没有指定resultMap映射
这是SQL完整性约束异常(例如表中username的值设计时不允许重复,但是在重复的写入相同的内容)
这是启动失败了,描述的是这个bean不能被注入,因为这是一个JDK动态代理。系统底层产生的JDK代理是一个兄弟类
反射异常
描述的是无法给类中的menuIds属性设置值。原因是pojo类中menuIds类型用的是Integer[],改为List