一、创建web项目工程 wzz

点击finish

2、添加spring Jar包   AOP,Core,Persistence Core ,web jar

点击next

点击Finish

3、配置Database Driver

我使用的是JTDS jar包,jtds在配置url地址时与使用sql Seriver的url地址有点不太一样,然后直接点击Finish即可

4、添加hibernate 配置

点击next

选择使用Spring的applicationContext.xml,点击next

选择Existing Spring configuration file  ,在填写SessionFactory ID ,点击next

点击next

不创建sessionFactory,使用spring的sessionFactory点击Finish

完成后

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
  5. <bean id="dataSource"
  6. class="org.apache.commons.dbcp.BasicDataSource">
  7. <property name="driverClassName"
  8. value="net.sourceforge.jtds.jdbc.Driver">
  9. </property>
  10. <property name="url"
  11. value="jdbc:jtds:sqlserver://localhost:1433/wzdb">
  12. </property>
  13. <property name="username" value="sa"></property>
  14. <property name="password" value="123"></property>
  15. </bean>
  16. <bean id="sessionFactory"
  17. class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  18. <property name="dataSource">
  19. <ref bean="dataSource" />
  20. </property>
  21. <property name="hibernateProperties">
  22. <props>
  23. <prop key="hibernate.dialect">
  24. org.hibernate.dialect.SQLServerDialect
  25. </prop>
  26. </props>
  27. </property>
  28. </bean>
  29. </beans>

这是application.xml自动添加的文件配置,

现在修改web.xml,

<!-- spring的应用上下文 -->
   <context-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>/WEB-INF/spring/applicationContext.xml</param-value>
   </context-param>
 
  <!-- spring的监听器,以便在启动时就自动加载spring的配置 -->
  <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <!-- 编码过滤 -->
 <filter>
     <filter-name>encodingFilter</filter-name>
     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
     <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
     </init-param>
     <init-param>
       <param-name>forceEncoding</param-name>
       <param-value>true</param-value>
     </init-param>
 </filter>
 <filter-mapping>
  <filter-name>encodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

------------------------------------------------------------------------------------------------------------------------------

用database Explorer视图,利用数据库中的表反射出实体类和实体类与数据库表的映射

选择项目及实体类和映射文件存放路径,点击next

在id Generator 中选择native
,主键生成方式为自动增长,点击finish,spring的配置文件applicationContext.xml中sessionFactory
bean会发生变化,新增<property
name="mappingResources"><list><value>com/aweb/entity/DicAnimal.hbm.xml</value>
</list></property>配置,把刚才反射时生成的实体类反射文件添加到sessionFactory的mappingResources中。

在applicationConext.xml中添加事务

<!-- 配置事务管理 -->
 <bean id="transactionManager"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory" />
 </bean>

<tx:advice id="txAdvice" transaction-manager="transactionManager">
  <tx:attributes>
   <!--propagation表示的是事务的传播特性,使用required时,是当检测到add开头的方法时,就看此时有没有开启的事务,如果有则将方法放进事务中去,如果没有,则新建一个事务。然后将方法放进去。-->
   <tx:method name="save*" propagation="REQUIRED" />
   <tx:method name="del*" propagation="REQUIRED" />
   <tx:method name="update*" propagation="REQUIRED" />
   <tx:method name="batch*" propagation="REQUIRED" />
   <!--如果检测到其它的方法,则给其只读数据库的属性。即当本方法在读时,其它的方法不能再去写了。保证一个事务的完整性-->
   <tx:method name="*" read-only="true" />
  </tx:attributes>
 </tx:advice>

asm-2.2.3.jar 与asm.jar有冲突,可以创新下载asm Jar包或把asm-2.2.3.jar删除也可

到此spring与hibernate集成已经完成。

配置strut2

添加struts2的Jar包  xwork-core-2.2.1.1.jar,struts2-core-2.2.1.1.jar,ognl-3.0.jar ,freemarker-2.3.16.jar

修改web.xml配置文件,增加struts2的过滤器配置

<!-- struts2过滤器 -->
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>
   org.apache.struts2.dispatcher.FilterDispatcher
  </filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

在src目录下新增struts.xml文件,struts2 spring hibernate配置完成

------------------------------------------------------------------------------------------------------------------------------------------------------

可以使用spring的HibernateDaoSupport类执行持久化操作:

package com.aweb.util;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class BaseDao<T> extends HibernateDaoSupport {
 public void save(T t){
  getHibernateTemplate().save(t);
 }
}

Strut2 spring hibernate 整合的更多相关文章

  1. spring+hibernate整合:报错org.hibernate.HibernateException: No Session found for current thread

    spring+hibernate整合:报错信息如下 org.hibernate.HibernateException: No Session found for current thread at o ...

  2. SpringMVC+Spring+Hibernate整合开发

    最近突然想认真研究下java web常用框架,虽然现在一直在用,但实现的整体流程不是很了解,就在网上搜索资料,尝试自己搭建,以下是自己的搭建及测试过程. 一.准备工作: 1/安装并配置java运行环境 ...

  3. Struts2+Spring+Hibernate整合开发(Maven多模块搭建)

    Struts2+Spring+Hibernate整合开发(Maven多模块搭建) 0.项目结构 Struts2:web层 Spring:对象的容器 Hibernate:数据库持久化操作 1.父模块导入 ...

  4. 笔记58 Spring+Hibernate整合(一)

    Spring+Hibernate整合 一.整合思路 使DAO继承HibernateTemplate这个类 HibernateTemplate这个类提供了setSessionFactory()方法用于注 ...

  5. MyEclipse下Spring+Hibernate整合

    目前,SSH(Struts+Spring+Hibernate)是Web开发的一种常用框架组合,Struts实现了MVC,Hibernate实现了关系对象映射,Spring实现了基于Bean的配置管理. ...

  6. Spring+Hibernate整合配置 --- 比较完整的spring、hibernate 配置

    Spring+Hibernate整合配置 分类: J2EE2010-11-25 17:21 16667人阅读 评论(1) 收藏 举报 springhibernateclassactionservlet ...

  7. Struts+Spring+Hibernate整合入门详解

    Java 5.0 Struts 2.0.9 Spring 2.0.6 Hibernate 3.2.4 作者:  Liu Liu 转载请注明出处 基本概念和典型实用例子. 一.基本概念       St ...

  8. Spring、Struts2+Spring+Hibernate整合步骤

    所使用的Jar包: Hibernate: Spring(使用MyEclipse自动导入框架功能) Struts2: 注解包和MySql驱动包: 1.配置Hibernate和Spring: <be ...

  9. Struts+Spring+Hibernate整合

    这段笔记三两年前写的,一直因为一些琐事,或者搞忘记了,没有发.今天偶然翻出了它,就和大家一起分享下吧. 1.导入jar包 Struts的jar包: Spring的jar包: Hibernate的jar ...

随机推荐

  1. vc里面怎样实现对话框之间传递变量的值

    Dialog1的类名是CDialog1, 头文件是dialog1.h.里有成员变量CString str1, str2;Dialog2的类名是CDialog2, 头文件是dialog2.h.里有成员变 ...

  2. Centos更换yum源,安装ssh server

    先连上网,然后更换yum源 1. 新建的用户没有sudo权限,所以首先切换到root用户su -输入密码 2. 备份之前的yum源mv /etc/yum.repos.d/CentOS-Base.rep ...

  3. hdu_1011_Starship Troopers(树形DP)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1011 题意:有N个房间,房间的连通性为树形的,就是说你要占领子结点,必须要先占领 父结点,每个房间有第 ...

  4. stream_context_create

    stream_context_create作用:创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置.代理服务器.请求方式.头信息设置的 ...

  5. how to use tar?

    In UNIX, tar is the most useful tool to compress files (just like zip in Windows.) To compress, inpu ...

  6. 在Mac OS X系统下 用dd命令将iso镜像写入u盘

    一. Mac下将ISO写入U盘可使用命令行工具dd,操作如下: 1.找出U盘挂载的路径,使用如下命令:diskutil list2.将U盘unmount(将N替换为挂载路径):diskutil unm ...

  7. Linux中nmon的安装与使用【转】

      一.下载nmon. 根据CPU的类型选择下载相应的版本:http://nmon.sourceforge.net/pmwiki.php?n=Site.Downloadwget http://sour ...

  8. android 焦点问题

    今天解决了一个Android平台下的焦点问题.发现其中关键问题的所在是Android的touchMode.从JavaSwing平台过来的人,都会关注setFocusable()和requestFocu ...

  9. javascript string去除两边空格

    function trim(){ return this.replace(/(^\s*)|(\s*$)/g,""); g整个字符串 }

  10. rm: 无法删除 "xxxxx.o" : 输入/输出错误.

    rm: 无法删除 "xxxxx.o" : 输入/输出错误. 碰到无法删除的文件,以为完蛋了,要重装. 后面重启一下就可以了