Spring2.X版本整合Hibernate
Spring2.x整合Hibernate和Spring3.x版基本一致,但要注意以下几点:
1. Spring2.x只支持Hibernate3 ,并不支持Hibernate4
2、从Spring2.x之后开始支持注解
3、 整合 Hibernate3 使用的SessionFactory Bean 是:org.springframework.orm.hibernate3包下的LocalSessionFactoryBean而不是org.springframework.orm.hibernate4.LocalSessionFactoryBean(Spring3整合hibernate3也是)
4、 导入包时注意删除相同的包!(优先删除版本低的)
在配置文件中添加SessionFactory 的baen
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- 添加sessionFactory bane ,注意,该类是Spring提供的 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <!-- 注入Hibernate 配置文件路径,前面要加上 classpath:--> <property name="configLocation" value="classpath:hibernate.cfg.xml"/> </bean> <bean id="studentDao" class="com.startspring.dao.impl.StudentDaoImpl"> <!-- 把sessionFactory 注入给studentDao --> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="studentService" class="com.startspring.service.impl.StudentServiceImpl"> <property name="studentDao" ref="studentDao" /> </bean> <bean id="start" class="com.startspring.Start"> <property name="studentService" ref="studentService" /> </bean> </beans>
------------------------------------------------------------------------------------------------------------
使用数据源(DataSource)
如果要使用数据源:
1.先把数据源相关的包导入到项目。
2.在Spring配置文件中添加数据源的bean。
3.把数据源 bean 注入到sessionFactory的dataSource属性。
(关于 Spring 注入数据源:http://www.cnblogs.com/likailan/p/3459776.html)
Spring配置文件 如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- 数据源 --> <bean id="dataSource" destroy-method="close" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="oracle.jdbc.OracleDriver" /> <property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:ORCL" /> <property name="user" value="hib" /> <property name="password" value="hib" /> </bean> <!-- 添加sessionFactory bane ,注意,该类是Spring提供的 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <!-- 注入Hibernate 配置文件路径,前面要加上 classpath:--> <property name="configLocation" value="classpath:hibernate.cfg.xml"/> <!-- 把数据源 bean 注入到sessionFactory的dataSource属性 --> <property name="dataSource" ref="dataSource"/> </bean> <bean id="studentDao" class="com.startspring.dao.impl.StudentDaoImpl"> <!-- 把sessionFactory 注入给studentDao --> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="studentService" class="com.startspring.service.impl.StudentServiceImpl"> <property name="studentDao" ref="studentDao" /> </bean> <bean id="start" class="com.startspring.Start"> <property name="studentService" ref="studentService" /> </bean> </beans>
现在数据库连接交由数据源来管理。可以把 hibernate.cfg.xml 文件中的connection.driver_class、connection.username等属性去掉了。
--------------------------------------------------------------------------------------------------------------
去掉Hibernate配置文件
通过注入的方式为SessionFactory注入hibernate的配置信息,从而省去hibernate配置文件
Spring配置文件 如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- 数据源 --> <bean id="dataSource" destroy-method="close" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="oracle.jdbc.OracleDriver" /> <property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:ORCL" /> <property name="user" value="hib" /> <property name="password" value="hib" /> </bean> <!-- 添加sessionFactory bane ,注意,该类是Spring提供的 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <!-- 把数据源 bean 注入到sessionFactory的dataSource属性 --> <property name="dataSource" ref="dataSource"/> <!-- hibernate的基本配置,如:方言,是否显示sql等 --> <property name="hibernateProperties"> <props> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.current_session_context_class">thread</prop> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop> </props> </property> <!-- 引入映射文件,如果有多个可以继续添加 <value> --> <property name="mappingLocations"> <list> <value>com/startspring/entrty/Student.hbm.xml</value> </list> </property> </bean> <bean id="studentDao" class="com.startspring.dao.impl.StudentDaoImpl"> <!-- 把sessionFactory 注入给studentDao --> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="studentService" class="com.startspring.service.impl.StudentServiceImpl"> <property name="studentDao" ref="studentDao" /> </bean> <bean id="start" class="com.startspring.Start"> <property name="studentService" ref="studentService" /> </bean> </beans>
现在可以把 hibernate.cfg.xml 文件删除了。
原来Spring的配置文件中<property name="configLocation" value="classpath:hibernate.cfg.xml"/>这行代码也可以删去了。
相关推荐
### Struts2、Spring与Hibernate整合的关键点及注意事项 #### 一、概述 在Java Web开发领域,Struts2、Spring以及Hibernate是三个非常重要的框架。它们分别在MVC架构、依赖注入与业务逻辑管理、对象关系映射等方面...
1. **Spring整合** - 在MyEclipse中添加Spring支持,选择相应的Spring版本和开发包,如Spring 1.2系列。 - 创建Spring配置文件(如`applicationContext.xml`),配置Bean定义,包括Service层、DAO层以及Action类等...
5. **整合Hibernate和Spring**:在Spring的配置文件中声明SessionFactory Bean,并将它注入到Service层,Service层再注入到DAO层。这样,Service和DAO可以通过Spring获取SessionFactory,进行数据操作。 6. **测试**...
在整合SSH的过程中,配置文件的正确设置至关重要,如struts2的struts.properties、spring的applicationContext.xml以及hibernate的hibernate.cfg.xml,这些都需要根据实际环境进行调整。 最后,"SSH_TEST"可能是...
下面我们将详细讲解如何进行Spring AOP整合Hibernate以及如何在其中使用事务。 1. **Spring AOP简介** 面向切面编程(AOP)是Spring框架的核心特性之一,它允许开发者定义“切面”,这些切面可以包含业务逻辑的...
7. **注意事项**:整合过程中要注意版本兼容性,不同版本的SSH框架可能存在不兼容的问题。另外,合理配置各个框架的配置文件,避免冲突,确保系统运行稳定。 总结,Struts1、Spring和Hibernate的整合涉及多个jar包...
2. **整合Hibernate**:通过Spring的HibernateTemplate或SessionFactoryBean,可以在Spring容器中管理Hibernate的Session。这样,我们可以在Service层使用这些bean来执行数据库操作,而无需直接操作SessionFactory。...
- **Struts与Spring整合的注意事项**: - 避免直接在Action类中访问Spring上下文,以免破坏Spring的封装性。 - 对Struts的定制可以通过自定义Action代理或者拦截器来实现。 通过以上几个方面的介绍,可以看出SSH...
**注意事项** - 在整合过程中,需确保各个库版本的兼容性,避免因版本冲突导致的问题。 - 配置文件中的路径、参数和bean定义要准确无误。 - 使用日志框架,如Log4j或Logback,便于调试和问题排查。 - 性能优化,如...
**注意事项:** - 在整合过程中,要注意各框架之间的版本兼容性。 - 考虑到性能,可以配置Hibernate的二级缓存和查询优化。 - 事务管理通常在Spring中进行配置,确保数据的一致性。 以上就是关于"Struts+Spring+...
7. **注意事项**: - 避免循环引用:在配置Spring时,要注意避免bean间的循环依赖。 - 事务管理:合理配置事务边界,防止事务异常导致的数据不一致。 - 异常处理:在Struts中配置全局异常处理,确保错误信息能...
**挑战与注意事项**: - 版本兼容性:不同版本的SSH框架可能存在兼容性问题,需要谨慎选择并测试。 - 性能影响:过多的中间层可能会带来一定的性能开销,需要合理优化。 - 学习曲线:SSH整合涉及多个框架,学习成本...
通过这样的整合,开发者可以利用Spring的强大管理能力,Hibernate的便捷数据库操作,以及Struts的用户请求处理,构建出高效、稳定的企业级应用。然而,随着技术的发展,Spring Boot和Spring MVC的出现,现在更多地...
本文将详细阐述如何在Spring 3和Hibernate 4之间进行整合,以及如何通过这个整合实现一个简单的用户登录功能。 首先,Spring作为一款强大的轻量级框架,提供了依赖注入(Dependency Injection,DI)和面向切面编程...
为了整合Hibernate,需要进行以下配置: ##### 1. Hibernate环境搭建 - 添加Hibernate相关的JAR包。 - 创建Hibernate配置文件`hibernate.cfg.xml`。 ##### 2. Hibernate配置文件(hibernate.cfg.xml) ```xml <!...
本文将详细讲解如何整合Flex、Java、Spring、Hibernate以及BlazeDS,打造一套完整的前后端交互解决方案。 一、Flex概述 Flex是由Adobe公司推出的用于创建富互联网应用程序的开源框架,基于ActionScript编程语言和...
"新建 文本文档.txt"可能是项目的读取指南或者注意事项。 总之,Struts、Spring和Hibernate的组合为Java Web开发提供了一种高效、灵活的解决方案,帮助开发者快速构建复杂的企业级应用。通过深入理解这三个框架,...
**SSH框架整合详解** SSH(Struts2、Spring、Hibernate)是Java开发中常见的三大开源框架,它们分别负责MVC...阅读提供的文档如`struts2-spring-hibernate.doc`和`SSH2整合.doc`,可以获取更详尽的步骤和注意事项。
在SSH整合中,Spring主要负责管理对象(包括Struts2的Action和Hibernate的SessionFactory)的生命周期,以及协调各个组件间的交互。此外,Spring还提供了事务管理,确保数据的一致性。 3. **Hibernate**:Hibernate...