错误/异常:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/beans_common.xml]...的解决方法
1、第一个这种类型的异常
1.1、异常信息:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/beans_common.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/ReflectionManager
错误/异常描述:sessionFactory 初始化失败。
说明:我用的是SSH框架(XML版)。JDK-1.8;Tomcat-7.0.96
我用到的jar包:
1.2、解决方法
我 出现在这个问题的原因是:jar包的问题(应该是冲突),我删除了hibernate-core-4.1.12.Final.jar这个jar包,问题就解决了。
其他原因:
1、保证jar包没有问题的情况下,还出现这个问题,那么就是你的Spring配置文件配置错了,请仔细检查,改回来即可。
2、保证jar包没有问题,Spring配置文件也没有问题的情况下,还出现这个问题,那么就在Spring配置文件中的头文件,链接后面加上default-autowire="byName" 即可。如果还解决不了,那就看下面“2、第二个这种类型的异常 ” 虽然这两个异常相似,实质,还是不同的。
2、第二个这种类型的异常
2.1、异常信息:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [spring/beans_common.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to get the default Bean Validation factory
错误/异常描述:nested exception is org.hibernate.HibernateException: Unable to get the default Bean Validation factory;sessionFactory 初始化失败,无法获得默认的Bean验证工厂。
说明:我用的是SSH框架(XML版)。JDK-1.8;Tomcat-7.0.96
我用到的jar包:
2.2、解决方法
说明:
<prop key="javax.persistence.validation.mode">none</prop>
javax.persistence.validation.mode 默认情况下是auto(自动),就是说,如果不设置的话,它会自动去你的classpath下面找一个bean-validation**包,但是找不到,所以beanvalitionFactory错误。
原创作者:DSHORE 作者主页:http://www.cnblogs.com/dshore123/ 原文出自:https://www.cnblogs.com/dshore123/p/11874754.html 版权声明:欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!) |