Struts2+Spring3+Hibernate4中,数据源应配置在Spring下,否则有异常:Cannot unwrap to requested type [javax.sql.DataSource]

启动项目,报错:org.hibernate.service.UnknownUnwrapTypeException: Cannot unwrap to requested type [javax.sql.DataSource]。也就是说,不能打开数据源。可是我在Hibernate的配置文件中明明配置了数据源了啊。原来应该由Spring来管理数据源,而Hibernate只需要管理OR-Mapping就可以了。于是将Hibernate的数据源删除,在Spring中配置。代码如下:

 1 <bean id="dataSource"
 2         class="org.apache.commons.dbcp.BasicDataSource" abstract="false"
 3         lazy-init="default" autowire="default" destroy-method="close">
 4     <property name="driverClassName" value="com.mysql.jdbc.Driver"><!-- 设置数据库的驱动 -->
 5     </property>
 6     <property name="url"
 7         value="jdbc:mysql://localhost:3306/db_project"><!--设置数据库的地址 -->
 8     </property>
 9     <property name="username" value="root"></property><!-- 设置用户名 -->
10     <property name="password" value="111"></property><!-- 设置密码 -->
11     </bean>

然后将dataSource注入到sessionFactory中。代码如下:

1 <bean id="sessionFactory"
2         class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
3         <property name="configLocation"
4             value="classpath:hibernate.cfg.xml">
5         </property>
6
7         <property name="dataSource" ref="dataSource"></property>
8     </bean>

org.springframework.orm.hibernate4.LocalSessionFactoryBean这个类中有相应的dataSource的setter方法,因此按照上述进行配置,就可以了。

然后将Hibernate配置文件中关于数据源的属性全部删除,这个问题就解决了。

时间: 2024-10-26 05:23:33

Struts2+Spring3+Hibernate4中,数据源应配置在Spring下,否则有异常:Cannot unwrap to requested type [javax.sql.DataSource]的相关文章

关于spring4和hibernate4整合,配置事务报“Cannot unwrap to requested type [javax.sql.DataSource]”错误的解决方法及心得

Cannot unwrap to requested type [javax.sql.DataSource] 配置hibernate4和spring4时,出现错误,解决方法: 1.我去了spring4中的事务配置,数据库可以正常执行并访问.如下: <!-- 配置Hibernate  数据事务 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.Hibernat

Struts2,Spring3,Hibernate4整合--SSH框架

Struts2,Spring3,Hibernate4整合--SSH框架(学习中) 一.包的导入 1.Spring包 2.Hibernate 包 3.struts 包 4.数据库方面的包及junt4的包 二.配置文件 1.beans.xml (具体要注意的已经注释到 xml 中了,目前整合了Spring 与 hibernate4 ) <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="h

使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框架来开发项目,而这些框架一般不是单独使用的,经常是Struts2+Spring3+Hibernate.SpringMVC+Spring+Hibernate.SpringMVC+Spring+Mybatis这几种组合中的一种,也就是多个框架配合起来使用.今天来总结一下如何使用Maven搭建Struts

Maven搭建Struts2+Spring3+Hibernate4框架

做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框架来开发项目,而这些框架一般不是单独使用的,经常是Struts2+Spring3+Hibernate.SpringMVC+Spring+Hibernate.SpringMVC+Spring+Mybatis这几种组合中的一种,也就是多个框架配合起来使用.今天来总结一下如何使用Maven搭建Struts

[转]Struts2+Spring3+Hibernate4+Maven+EasyUI整合入门视频+视频教程源码

[转]Struts2+Spring3+Hibernate4+Maven+EasyUI整合入门视频+视频教程源码 点此立即下载 文件列表:视频教程源码Struts2+Spring3+Hibernate4+Maven+EasyUI整合入门视频008.avi下载地址:https://pan.baidu.com/s/1dcMxMq5xAriJONEpyA06pw Struts2+Spring3+Hibernate4+Maven+EasyUI整合入门视频005.avi Struts2+Spring3+Hi

spring异步执行报异常No qualifying bean of type &#39;org.springframework.core.task.TaskExecutor&#39; available

最近观察项目运行日志的时候突然发现了一个异常, [2018-04-03 10:49:07] 100.0.1.246 http-nio-8080-exec-9 DEBUG org.springframework.scheduling.annotation.AnnotationAsyncExecutionInterceptor---- Could not find default TaskExecutor bean org.springframework.beans.factory.NoSuchBe

Struts2+Spring3+Hibernate4+Maven 整合

一 环境准备 1 开发工具 1)JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2)Tomcat下载地址:http://tomcat.apache.org/download-70.cgi 3)Maven下载地址:http://maven.apache.org/download.html 4)Ecipse 下载地址 http://www.eclipse.org/downloads/ 5)Mysql

JNDI数据源(在Tomcat下配置JNDI多数据源实例)

一,添加数据库驱动包加入classpath. 这里我用到了oracle和mysql.所以由两个jar包:ojdbc14.jar和mysql-connector-java-5.1.13-bin.jar. (有的也说需要添加commons-dbcp-1.4.jar,commons-pool-1.5.4.jar和commons-collections.jar,我做了测试,不用的.网上查了下,DBCP使用Jakarta-Commons Database Connection Pool,它依赖以下三个包:

Struts2+Spring3+Hibernate——整合byMaven

在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框架来开发项目,而这些框架一般不是单独使用的,经常是Struts2+Spring3+Hibernate.SpringMVC+Spring+Hibernate.SpringMVC+Spring+Mybatis这几种组合中的一种,也就是多个框架配合起来使用.今天来总结一下如何使用Maven搭建Struts2+Spring3+Hibern