Hibernate整合Spring出现的异常,jar包全导了,就是不对啊

问题描述

org.springframework.beans.factory.BeanDefinitionStoreException:UnexpectedexceptionparsingXMLdocumentfromclasspathresource[beans.xml];nestedexceptionisjava.lang.NullPointerExceptionatorg.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)atorg.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)atorg.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)atorg.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)atorg.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)atorg.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)atorg.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)atorg.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)atorg.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80)atorg.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)atorg.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)atorg.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)atorg.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)atcom.chencan.service.UserServiceTest.testAdd(UserServiceTest.java:12)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)atorg.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)atorg.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:41)atorg.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)atorg.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)atorg.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)atorg.junit.runners.ParentRunner.run(ParentRunner.java:220)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)Causedby:java.lang.NullPointerExceptionatorg.springframework.context.annotation.AnnotationConfigUtils.registerAnnotationConfigProcessors(AnnotationConfigUtils.java:109)atorg.springframework.context.annotation.AnnotationConfigBeanDefinitionParser.parse(AnnotationConfigBeanDefinitionParser.java:45)atorg.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)atorg.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1297)atorg.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1287)atorg.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)atorg.springframework.beans.factory.xml.DefaultB

eanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)atorg.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)atorg.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)...38more我的beans.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.5.xsd"><context:annotation-config/><context:component-scanbase-package="com.chencan"/><beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><propertyname="driverClassName"value="com.mysql.jdbc.Driver"/><propertyname="url"value="jdbc:mysql://localhost:3306/spring"/><propertyname="username"value="root"/><propertyname="password"value="chencan"/></bean><beanid="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><propertyname="dataSource"ref="dataSource"/><propertyname="annotatedClasses"><list><value>com.chencan.model.User</value></list></property><propertyname="hibernateProperties"><props><propkey="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><propkey="hibernate.show_sql">true</prop><propkey="hibernate.format_sql">true</prop></props></property></bean></beans>我的UserDAOImplepackagecom.chencan.impl;importjavax.annotation.Resource;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.springframework.stereotype.Component;importcom.chencan.dao.UserDAO;importcom.chencan.model.User;@Component("userDAO")publicclassUserDAOImplimplementsUserDAO{privateSessionFactorysessionFactory;publicvoidsave(Useru){Sessionsession=sessionFactory.openSession();session.beginTransaction();session.save(u);session.getTransaction().commit();session.close();System.out.println("usersave....");}@ResourcepublicvoidsetSessionFactory(SessionFactorysessionFactory){this.sessionFactory=sessionFactory;}publicSessionFactorygetSessionFactory(){returnsessionFactory;}}test类packagecom.chencan.service;importorg.junit.Test;importorg.springframework.beans.factory.BeanFactory;importorg.springframework.context.support.ClassPathXmlApplicationContext;importcom.chencan.model.User;publicclassUserServiceTest{@TestpublicvoidtestAdd()throwsException{ClassPathXmlApplicationContextbf=newClassPathXmlApplicationContext("beans.xml");UserServiceservice=(UserService)bf.getBean("userService");Useru=newUser();service.add(u);}}求大神帮忙看看啊,百度好久了都没弄出来,只好发帖,第一次啊。。。。

解决方案

解决方案二:
这是我包结构
解决方案三:
没有hibernate的配置文件吗?你这根本没找到beans.xml换个配置模板不然jar包试试
解决方案四:
你的userService在哪?貌似没有吧。。。。。
解决方案五:
packagecom.chencan.service;importjavax.annotation.Resource;importorg.springframework.beans.factory.annotation.Qualifier;importorg.springframework.stereotype.Component;importcom.chencan.dao.UserDAO;importcom.chencan.impl.UserDAOImpl;importcom.chencan.model.User;@Component("userService")publicclassUserService{privateUserDAOuserDAO;publicUserDAOgetUserDAO(){returnuserDAO;}@Resource(name="userDAO")publicvoidsetUserDAO(UserDAOuserDAO){this.userDAO=userDAO;}publicvoidadd(Useru){this.userDAO.save(u);}}

解决方案六:
另外hibernate配置文件是spring自动生成的,在beans.xml中<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.5.xsd"><context:annotation-config/><context:component-scanbase-package="com.chencan"/><beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><propertyname="driverClassName"value="com.mysql.jdbc.Driver"/><propertyname="url"value="jdbc:mysql://localhost:3306/spring"/><propertyname="username"value="root"/><propertyname="password"value="chencan"/></bean><beanid="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><propertyname="dataSource"ref="dataSource"/><propertyname="annotatedClasses"><list><value>com.chencan.model.User</value></list></property><propertyname="hibernateProperties"><props><propkey="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><propkey="hibernate.show_sql">true</prop><propkey="hibernate.format_sql">true</prop></props></property></bean></beans>

解决方案七:
去掉这个<context:annotation-config/>试试
解决方案八:
引用6楼qq840727854的回复:

去掉这个<context:annotation-config/>试试

没用啊兄弟。。
解决方案九:
加我Q,我们探讨探讨
解决方案十:
http://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.5.xsd">spring-context-3.0.xsd、将其改成spring-context-2.5.xsd
解决方案十一:
你的service包下的类:publicclassUserServiceTest应该写成publicinterfaceUserServiceTest然后再调试其他的错误。

时间: 2024-09-19 20:41:36

Hibernate整合Spring出现的异常,jar包全导了,就是不对啊的相关文章

spring 和hibernate项目制作可执行的jar包

spring 和hibernate项目制作可执行的jar包 如何把spring和hibernate项目制作可运行的jar包呢? 就是在命令行中运行 Java -jar  xxx.jar 就可以运行java程序.例如  我的这个项目使用了hibernate和spring,不是web项目. 构建工具:maven IDE:eclipse 目录结构如下:     上图中beans.xml是spring的配置文件,内容如下:   Xml代码   <?xml version="1.0" en

struts2+spring+hibernate整合,spring出现问题.

问题描述 先看看我的配置文件:<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

Hibernate整合spring配置二级缓存

applicationContext.xml 文件配置: <prop key="hibernate.cache.use_second_level_cache">true</prop> <!--设置缓存机制为二级缓存 --> <prop key="hibernate.cache.use_query_cache">true</prop> <!--启动查询缓存 --> <prop key=&qu

mina+spring MVC 程序打jar包问题

问题描述 mina+springMVC程序打jar包问题打包完成后运行提示缺少容器事实上我直接运行里面的main函数是可以不需要WEB容器支持的求高手能详细讲解下里面的原因!!! 解决方案 解决方案二:这样能运行?我真不知道解决方案三:有容器不用写main,要写只是用来测试了啥解决方案四:有容器不用写main解决方案五:好像要把有些东西转移一下位置才可以解决方案六:我就是没容器才写main的楼上知道需要转移哪些东西的位置怎么转移吗解决方案七:没有高手出来解惑吗解决方案八:打包后怎么执行mina?

spring开发中commons-logging.jar包的功能

问题描述 我把commons-logging.jar删了,程序会报错.我想知道他到底是干嘛的.除了输出日志 解决方案 记录日志,通常和 log4j.jar共同使用原因:在 sun 开发 logger 前,apache 项目已经开发了功能强大的 log4j 日志工具,并向 sun 推荐将其纳入到 jdk 的一部分,可是 sun 拒绝了 apache 的提议,sun 后来自己开发了一套记录日志的工具.可是现在的开源项目都使用的是 log4j,log4j 已经成了事实上的标准,但由于又有一部分开发者在

第六章 Hibernate jar包

6.1 hibernate3.jar 6.2 其它jar 6.3 Hibernate所需要第三方类库的Jar包文件的列表

spring boot的pom.xml配置,正确生成jar包

spring boot生成的jar包提示没有主清单属性. 需要在pom里加入配置. <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&

java-非web工程整合Spring,怎么使用@autowired

问题描述 非web工程整合Spring,怎么使用@autowired 我在网上查了很多java整合Spring的例子,但大多数都是这main函数里面new ClassPathXmlApplicationContext("applicationContext.xml"); ,然后 getBean给某个没有实例化的变量,而且@autowired没有作用,这样导致了我在每个需要注入的地方都要去写一遍 ApplicationContext ac = new ClassPathXmlApplic

Spring+Hibernate+Struts2整合所需要的Jar包

struts2.1.6 支持jar包 xwork-2.1.2.jar struts2-core-2.1.6.jar commons-logging-1.0.4.jar freemarker-2.3.13.jar ognl-2.6.11.jar commons-fileupload-1.2.1.jar spring2.5.6支持jar包 spring.jar cglib-nodep-2.1_3.jar dom4j-1.6.1.jar log4j-1.2.15.jar commons-logging