Spring框架是一款很不错的开源框架,有很多企业以及初学者都在使用与学习,但是在此过程中难免因为一些细节出错,排查起来很烦人很无厘头,今天本人来分享一些自己在学习与使用spring中出现的错误

  • NoSuchBeanDefinitionException:无意义定义例外解决:①类未实现接口②注册名小驼峰命名③扫描包作用:注册组件并注入④Maven环境创建项目时包名必须与代码中包名一致

  • IllegalStateException 非法状态例外

  • ConflictingBeanDefinitionException 冲突bean定义exception解决:期待找到一个,但找到多个spring不知道注入哪个问题:@Resource(name=”类名小驼峰式”) [@Resource](https://my.oschina.net/u/929718) 前提:该组件只能找到一个对象

  • FileNotFoundException 文件未找到异常问题:把配置文件中的数据(String) 注入到某个成员变量过程中,配置文件未找到解决:观察并修改配置文件路径

  • BeanNotOfRequiredTypeException 注入类型与实际类型不相符解决:观察注入位置,确定注入无误

  • No runnable methods 没有可运行的方法解决:①@Test注解

  • NoUniqueBeanDefinitionException 类型注入引发的异常问题:类型注入引发的异常:Demo5Dao类型没有找到唯一的Bean,找到多个符合要求的Bean解决:①使用名称注入②修改Demo5Dao类型,保证按类型注入只能有一个符合要求的Bean③修改注入变量的变量名,使其等于Demo5Dao类型中某个符合要求Bean的注册名

  • nested exception is org.apache.ibatis.builder.BuilderException问题:嵌套异常为org.apache.ibatis.builder.builderException

  • ConflictingBeanDefinitionException 冲突bean定义exception问题:因为按类型注入,注入时先把变量名作为组件名进行名称注入解决:修改变量名,或修改为按名称注入 (观察变量名)

  • java.net.BindException: Address already in use: JVM_Bind问题:地址已在使用中:jvm_bind(多个Tomcat同时运行导致)解决:关闭maven自带的tomcat运行环境,使用spring的Tomcat就可以了

  • EL表达式未解析BUG说明问题:EL表达式在SpringMVC中未解析解决:把web.xml版本替换成3X以上web.xml 3.1版本`<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1">

</web-app>`

  • Required Boolean parameter 'flag' is not present问题:使用@RequestParam 获取某个参数时,若没有参数,则抛出异常解决1:可以设置默认值。 @RequestParam(name=”参数名”,defaultValue=”默认值”) 解决2:可以设置不必须。 (若无参数值,默认为 null)@RequestParam(name=”参数名”,required=false)

  • BeanInstantiationException Bean实例化异常问题:加载bean对象过程中由于(对象类型...等原因导致)

  • HTTP Status 405 - Request method 'GET' not supported问题:请求方式GET不支持的解决:默认情况下,不会限定请求方式,get/post或其他方式均可访问

  • IllegalArgumentException 非法数据异常问题:pojo字段类型与name属性字段类型不匹配,导致无法封装数据解决:修改其中一个字段类型,使得其匹配(修改数据库或者bean都可以,目的是二者匹配)

  • NoClassDefFoundError Classes导包错误描述:com.sun.tools.internal.jxc.gen.config.Classes;未正确导包,而是Java中的自带包解决:pojo(bean)中的Classes类导包错误

  • ExpressionSyntaxException 表达式yntaxException

  • ParseException 分析异常问题:动态SQL语句拼接异常解决:检查xml(接口)文件中的动态Sql语句,分析格式

请多支持

10-18 14:13