原文

BeanFactory创建Bean实例错误,原因可能是项目的builderpath中的JDK版本莫名被调成默认的了,如javase1.5,重新移除添加系统的jdk即可。

2022.2.14 补充

原文写的较早,随笔记录的原因,一般也是很常见的原因。终其标题是一类问题,通常严重: 异常将上下文初始化事件发送到类的侦听器实例是由环境问题或者说是环境的配置问题导致的,尤其是使用SSM进行Spring的XML配置。与其说是如何解决这个问题,不如说是授之以渔,如何去按图索骥,寻求如何去解决问题的方法。进行三个案例说明:

案例一

严重: 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener]

org.springframework.beans.factory.BeanInitializationException:Could not load properties; nested exception is java.io.FileNotFoundException:Could not open ServletContext resource [/jdbc.properties]

at....

这里我们可以看到具体的实际报错信息是:FileNotFoundException类型的错误,具体的文件是项目路径下的:jdbc.properties,更进一步的具体原因是Could not open 。

那么我们就应该去核对相关的配置文件jdbc.properties是否存在,能否具有操作权限等问题。比如本例的原因就是:

原因: <context:property-placeholder location=“classpath:jdbc.properties”/> bean文件中未加classpath导致属性文件未获得路径。

案例二

严重: 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException: Could not instantiate persister org.hibernate.persister.entity.SingleTableEntityPersister

同样的方法,我们可以看出是sessionFactory的问题,问题在于创建sessionFactory失败,这个一般与我们的数据库实例化对象有关系,进一步我们可以看到是在

[applicationContext.xml]中。具体分析问题,案例的原因是:

mysql数据库的URL未填写正确。

案例三

当如果报错的是SSM框架下的mapper.xml文件,这个时候我们一般要确定是否对应映射代码符合映射格式。比如说同类案例:

严重: 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener] org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'clazzAddressController': Unsatisfied dependency expressed through field 'clazzAddressService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'clazzAddressServiceImpl': Unsatisfied dependency expressed through field 'clazzAddressDao'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'clazzAddressDao' defined in file

... ...

Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.ischoolbar.programmer.dao.admin.AuthorityDao.add at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:521) ... 60 more Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.ischoolbar.programmer.dao.admin.AuthorityDao.add

上述报错我们可以看出,是转发层->服务层->Dao层->mapper.xml, 具体原因是错误的xml格式(IllegalArgumentException),导致无法解析正常。结果原因是mapper的namespace命名空间错误。

小结

最终还是要看严重: 异常将上下文初始化事件发送到类的侦听器实例后面的Cause By 然后定位到错误代码处,或者文件。而后确定目标,还是要仔细核查格式和配置内容是否正确。这是个耐心活,但是报错不会骗人,只可能会报的还没到最底层文件。

严重: 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.co相关推荐

  1. 严重:异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener] 以解决

    严重: 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener] org.springframewor ...

  2. 异常将上下文初始化事件发送到类的侦听器实例_Spring的Bean实例化原理,这一次彻底搞懂了!...

    前言 之前分析了Spring XML和注解的解析原理,并将其封装为BeanDefinition对象存放到IOC容器中,而这些只是refresh方法中的其中一个步骤--obtainFreshBeanFa ...

  3. 异常将上下文初始化事件发送到类的侦听器实例._Java CLassLoader类加载器详解,一点课堂(多岸学院)...

    Java CLassLoader 类加载器(class loader)是 Java™中的一个很重要的概念.类加载器负责加载 Java 类的字节代码到 Java 虚拟机中.本文首先详细介绍了 Java ...

  4. java消息失败重发_JMS消息在JMS侦听器中重新发送异常

    Javadoc为 org.springframework.jms.listener.AbstractMessageListenerContainer 表示,如果 "sessionAcknow ...

  5. 侦听127.0.01_Spring 4.2中由注释驱动的事件侦听器

    侦听127.0.01 介绍 在应用程序内交换事件已成为许多应用程序中必不可少的部分,幸运的是,Spring为瞬态事件(*)提供了完整的基础结构. 最近对事务绑定事件的重构为我提供了一个借口,以在实践中 ...

  6. Spring 4.2中由注释驱动的事件侦听器

    介绍 在应用程序内交换事件已成为许多应用程序中必不可少的部分,幸运的是,Spring为瞬态事件(*)提供了完整的基础结构. 最近对事务绑定事件的重构为我提供了一个借口,以在实践中检查Spring 4. ...

  7. spring异常 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet

    spring异常 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet 情况1: ...

  8. vue 侦听器侦听对象属性_Spring中的异步和事务性事件侦听器

    vue 侦听器侦听对象属性 内置的事件发布功能从Spring的早期版本开始存在,并且对于处理同一应用程序上下文中Spring组件之间的基本通信仍然有用. 通常,应用程序可以生成应用程序事件(可以是任意 ...

  9. Spring中的异步和事务性事件侦听器

    内置的事件发布功能从Spring的早期版本开始存在,对于处理同一应用程序上下文中Spring组件之间的基本通信仍然有用. 通常,应用程序可以生成应用程序事件(可以是任意对象)并侦听它们. 整个机制非常 ...

最新文章

  1. Java项目:网上书城+后台管理系统(java+jsp+servlert+mysql+ajax)
  2. 【IMOOC学习笔记】多种多样的App主界面Tab实现方法(二)
  3. vim 环境变量 encoding、fileencoding、fileencodings 的作用
  4. 为什么企业需要IT资产管理
  5. Smarty 2、3版本的一些差别
  6. MySQL的四种事务隔离级别实践
  7. linux安装替换python3,linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
  8. 常见的几款JVM监控工具
  9. vue 表单 input radio
  10. java判断栈中元素数目_Java数据结构与算法-栈和队列
  11. 杨辉三角程序(一步步优化)
  12. vue+elementui搭建后台管理界面(6登录和菜单权限控制)
  13. abaqus算出来的转角单位是什么_ABAQUS中的单位制是如何规定的;
  14. Linux的DHCP的工作原理
  15. 人脸匹配对齐算法pytorch_PyTorch 实现孪生网络识别面部相似度
  16. 均方根值、均方根误差以及标准差的区别
  17. [Excel知识技能] Excel数据类型
  18. 【评测】Tecan品牌系列产品
  19. 为什么固态硬盘删除数据后无法恢复?
  20. Week_eight

热门文章

  1. 最近点对问题(蛮力法和分治法)
  2. android V1,V2,V3,V4签名详解
  3. angular设置路由实现无刷新跳转
  4. LDAP认证的两种方式
  5. c++名字空间指令与名字空间声明
  6. 如何使用plsql连接远程数据库
  7. java 文件读取 逗号分隔_java – 读取逗号分隔配置文件的最佳方法是什么?
  8. 基于51单片机的遥控小车
  9. $().each() 和 $.each()
  10. 基于SpringBoot的高并发秒杀(限时秒杀)