`

Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架 整合开发

    博客分类:
  • SHH
阅读更多
来自:http://www.cnitblog.com/intrl/archive/2009/07/14/56322.html

本人采用的开发环境为MyEclipse6.6,数据库为MySQL,Web服务为Tomcat。
这三个框架的整合其实就是Struts2.1.6+Spring2.5.6的整合、Spring2.5.6+Hibernate3.3.1的整合。
(一)Struts2.1.6+Spring2.5.6的整合
   详见之前发表的文章【J2EE】Struts2.1.6与Spring2.5.6框架整合
(二)Spring2.5.6+Hibernate3.3.1的整合
1、引入Hibernate必需的jar包
hibernate3.jar
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.4.GA.jar
jta-1.1.jar
slf4j-api-1.5.2.jar
因为slf4j-api-1.5.2.jar只有接口,还需要其实现类,而Hibernate带有的jar包中并没有包含,所以还需自己到apache网站下载
slf4j-log4j12-1.5.2.jar
log4j-1.2.14.jar
两个jar包,一个是其实现,log4j-1.2.14.jar是slf4j-log4j12-1.5.2.jar所需要用到的jar包
2、在web.xml中配置过滤器,让Spring为我们自动管理session,无需我们手动开、关Hibernate中的session
    <filter>
        <filter-name>hibernateFilter</filter-name>
        <filter-class>
            org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
        </filter-class>
    </filter>
    <filter-mapping>
        <filter-name>hibernateFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
3、在web.xml中配置过滤器,处理字符集编码
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>
            org.springframework.web.filter.CharacterEncodingFilter
        </filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>GBK</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
4、在applicationContext-common.xml中配置一些公共的配置
    <!-- 配置sessionFactory -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="configLocation">
            <value>classpath:hibernate.cfg.xml</value>
        </property>
    </bean>

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

    <!-- 配置事务的传播特性 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="add*" propagation="REQUIRED" />
            <tx:method name="delete*" propagation="REQUIRED" />
            <tx:method name="modify*" propagation="REQUIRED" />
            <tx:method name="*" read-only="true" />
        </tx:attributes>
    </tx:advice>

    <!-- 那些类的哪些方法参与事务 -->

    <aop:config>
        <aop:advisor pointcut="execution(* com.test.manager.*.*(..))"
            advice-ref="txAdvice" />
    </aop:config>
5、在上一步中我们用到了aop,Spring本身并没有对其实现,而是使用了现成别人已经做好了的。需要引入两个jar包,在Spring中的 lib\aspectj 目录下
aspectjrt.jar
aspectjweaver.jar
6、 利用ANT+Xdoclet自动生成Hibernate配置文件,详见之前发表的文章【J2EE】ANT+Xdoclet自动生成Hibernate配置文件
7、在MySQL中建立数据库test
8、部署项目,启动Tomcat服务器便可在数据库中见到Hibernate为我们自动生成了两张表t_group、t_user


9、由以上步骤可知,Spring与Hibernate整合成功。
(三)验证三个框架是否成功整合
1、对之前发表的文章【J2EE】Struts2.1.6与Spring2.5.6框架整合 中的com.test.manager.impl中的类LoginManagerImpl作如下修改:
继承HibernateDaoSupport
修改isLogin方法的实现
1package com.test.manager.impl;
2
3import java.util.List;
4
5import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
6
7import com.test.manager.LoginManager;
8import com.test.model.User;
9
10public class LoginManagerImpl extends HibernateDaoSupport implements
11        LoginManager {
12    @SuppressWarnings("unchecked")
13    public boolean isLogin(String username, String password) {
14        /*
15         * if(null!=username&&null!=password&&"intrl".equals(username.trim())&&"intrl".equals(password.trim())) {
16         * return true; } return false;
17         */
18
19        Object[] s = new Object[2];
20        s[0] = username;
21        s[1] = password;
22        List<User> users = this.getHibernateTemplate().find(
23                "from User user where user.username=? and password=?", s);
24        if (users.size() == 0) {
25            return false;
26        }
27        return true;
28    }
29}
2、因为我们所继承的类HibernateDaoSupport需要显示地注入sessionFactory,所以必须在applicationContext-beans.xml中修改loginManager的配置,增加一个所需注入参数
    <bean id="loginManager"
        class="com.test.manager.impl.LoginManagerImpl">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
3、在MySQL中存入数据,用户名和密码均为intrl,以便测试时使用。
4、重新启动Tomcat服务,访问登录页,进行测试,可以成功读取数据库中的User信息进行验证。三个框架整合成功!!!

(四)源代码下载
http://www.rayfile.com/files/a9c429e6-66b3-11de-a1bd-0014221b798a/

(五)其他资源
struts-2.1.6-all.zip:http://www.rayfile.com/files/d71417ae-66dd-11de-9d35-0014221b798a/
spring-framework-2.5.6-with-dependencies.zip:http://www.rayfile.com/files/6819bd23-66e2-11de-ad79-0014221b798a/
hibernate-distribution-3.3.1.GA-dist.zip:http://www.rayfile.com/files/ee9f69c7-66f3-11de-9954-0014221b798a/

jdk-6u12-windows-i586-p.exe:http://www.rayfile.com/files/2879e173-66f0-11de-9cd8-0014221b798a/
apache-tomcat-6.0.16.exe:http://www.rayfile.com/files/918febc7-66ed-11de-ab58-0014221b798a/
mysql\MYSQL123 5 5.0.zip:http://www.rayfile.com/files/dee8bc17-66f1-11de-a255-0014221b798a/

xdoclet-plugins-dist-1.0.4-bin.zip:http://www.rayfile.com/files/f8462580-66f2-11de-8a67-0014221b798a/
apache-ant-1.7.1-bin.zip:http://www.rayfile.com/files/78e4fa6e-66b6-11de-8110-0014221b798a/
分享到:
评论

相关推荐

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合开发

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合开发 http://www.cnitblog.com/intrl/archive/2009/04/13/56322.aspx 这篇文章的源码由于他的上传的空间用户可能下载失败,作者相当牛而且具有奉献精神

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解

    在深入探讨Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解的实现细节之前,我们先回顾一下这三个框架的基本概念及其在JavaEE企业级开发中的作用。 ### Struts2框架 Struts2是一个开源的Web应用框架,它遵循MVC...

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合完整jar包

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合的完整jar包,花了很长时间从Struts2.1.6、Hibernate3.3.1、Spring2.5.6挑出来的,在项目中已经应用,没有问题,不要嫌分高,下载了看了就知道好不好了,好的话给个好评...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1整合

    ### Struts2.1.6 + Spring2.5.6 + Hibernate3.3.1 整合 在本文中,我们将详细介绍如何将Struts2.1.6、Spring2.5.6以及Hibernate3.3.1进行整合,并构建一个简单的MVC应用。通过这个过程,读者将了解到这三种框架的...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解是一个关于Java EE企业级开发的经典教程,重点介绍了如何整合SSH(Struts2、Spring、Hibernate)三大框架,并利用注解进行开发。在这个教程中,作者“大象”...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合常见错误

    ### Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合常见错误 在使用Struts2.1.6、Spring2.5.6与Hibernate3.3.1进行框架整合时,开发者经常会遇到一些常见的问题。这些问题可能会导致程序无法正常运行或出现异常...

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合jar包

    Struts2.1.6、Hibernate3.3.1和Spring2.5.6是Java Web开发中的三个关键框架...提供的"Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合jar包"就是经过验证的无冲突版本,可以直接用于项目中,减少了配置和调试的时间成本。

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(含JAR包)

    Struts2.1.6、Spring2.5.6和Hibernate3.3.1是Java Web开发中的三个重要框架,合称为SSH(Struts2、Spring、Hibernate)。这个全注解实例详解旨在帮助开发者理解如何在不使用XML配置的情况下,通过注解实现这三大框架...

    struts2.1.6+spring2.5+hibernate3.3.1

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1 是一个经典的JavaEE企业级开发框架组合,通常被称为SSH框架。这个组合在过去的开发中被广泛使用,提供了MVC(Model-View-Controller)架构、依赖注入(DI)以及持久化管理的...

    struts2.1.6+hibernate3.3.1+spring2.5.6三个框架的整合

    在"struts2.1.6+hibernate3.3.1+spring2.5.6"的整合中,我们首先会了解每个框架的主要特性: 1. Struts2.1.6:这是Struts2的一个版本,它引入了更灵活的动作映射、拦截器机制、强大的插件支持以及对AJAX的友好支持...

    struts2.1.6 - spring2.5.6 - hibernate3.3.1 - oracle10g增删改查

    这个是由:struts2.1.6 - spring2.5.6 - hibernate3.3.1 - oracle10g 写的简单的增删改查功能,希望给有用的人,由于reg注册实现4个功能,所以login就没有写登录的功能了。由于小弟需要点分,所以只设置了2分,谢谢...

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合jar包.zip

    Struts2、Hibernate和Spring是Java开发中三大主流框架,它们各自解决应用程序的不同问题...总的来说,Struts2.1.6、Hibernate3.3.1和Spring2.5.6的整合是Java EE开发中一个经典的架构模式,至今仍被许多项目所采用。

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(一)

    在这个全注解实例中,我们将深入理解如何利用Struts2.1.6、Spring2.5.6和Hibernate3.3.1构建应用程序,避免传统的XML配置文件,转而采用注解方式来提高开发效率。 **开发环境**: - JDK 1.6.0_18 - Eclipse 3.2.1 -...

    SSH框架配置Struts2.1.6+Spring2.5.6+Hibernate3.3.1 2

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是一种流行的企业级Java Web应用程序开发框架。这个框架的集成能够帮助开发者实现模型-视图-控制器(MVC)设计模式,提供数据持久化,以及应用层的管理和依赖注入...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例

    在Spring2.5.6中,`spring-context`、`spring-beans`、`spring-aop`等核心模块是基础,`struts2-spring-plugin`则是Struts2与Spring整合的关键,确保Action类能在Spring容器中被管理。 **Hibernate**作为持久层框架...

    SSH框架配置步骤图解(Struts2.1.6 Spring2.5.6 Hibernate3.3.1 2

    SSH 框架配置步骤图解(Struts2.1.6 Spring2.5.6 Hibernate3.3.1) SSH 框架是一种常用的 Java Web 应用程序框架,它由 Struts、Spring 和 Hibernate 三个框架组成。今天,我们将详细介绍如何配置 SSH 框架,包括...

    Struts2[1].1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解图文教程.doc

    本教程将详细介绍如何在Struts2 1.6.0、Spring 2.5.6和Hibernate 3.3.1的环境下,利用全注解方式进行开发。这个教程适用于已经配置好开发环境的开发者,包括JDK 1.6.0_18、Eclipse 3.2.1、MyEclipse 5.1.0、Tomcat ...

Global site tag (gtag.js) - Google Analytics