文档章节

SSH 整合框架(自整理)

SLoan_
 SLoan_
发布于 2016/09/06 14:19
字数 768
阅读 30
收藏 1

Spring 是系统核心框架,应用 Spring 框架提供的 IOC(DI)、AOP 等技术,
把 Struts 2、Hibernate 对象由 Spring 容器进行解耦合管理,
便于系统可扩展性和维护,也增强系统灵活性,例如可以自由替换持久化数据技术,
JDBC、Mybatis 和 Hibernate 之间切换,同时减少开发工作量,提高开发效率
                                
                                
                                                                                整合思路
说白了整合就是实现 Spring 与 Struts2 和 Spring 与 Hibernate 的整合,实际整合就是将struts2、hibernate中的对象配置到spring容器
中,由 Spring 来管理。

1. Struts 2 和 Hibernate 是俩个独立的框架,所以先添加这俩个框架支持;
    创建包:dao、entity、service、action、utils
    添加:Struts 2 和 Hibernate 等jar包
        Hibernate3.3.2
            antlr-2.7.6.jar
            cglib-2.2.jar
            commons-collections-3.1.jar
            commons-lang-2.4.jar
            dom4j-1.6.1.jar
            hibernate3.jar
            javassist-3.9.0.GA.jar
            jta-1.1.jar
            log4j_128.jar
            ojdbc6.jar
            slf4j-api-1.5.8.jar
            slf4j-log4j12-1.5.8.jar
        Struts2.3.15.1
            commons-fileupload-1.3.jar
            commons-io-2.0.1.jar
            commons-lang3-3.1.jar
            commons-logging-1.1.3.jar
            freemarker-2.3.19.jar
            javassist-3.11.0.GA.jar
            ognl-3.0.6.jar
            struts2-core-2.3.15.1.jar
            xwork-core-2.3.15.1.jar
    添加:实体,编写entity.hbm.xml文件,配置相关的对象关联关系
    添加:hibernate.cfg.xml 配置文件,引入对象映射文件
    添加:default.xml,Struts.xml,和 Web.xml文件(过滤器,Struts 2启动文件)
    添加:log4j.properties 日志记录文件
    添加:Utils包下ExportDDL.java(正向工程直接生成表)
    编写:Dao,Impl,Service,Impl等方法待用,其中 Impl 中属性要通过 applicationContext.xml 中注入..参考项目

2.实现spring和hibernate整合,配置数据源对象为hibernate配置SessionFactory对象,
  实现并配置DAO和Service。需要为业务层添加声明式事务管理

      添加 Spring 框架支持 Jar 包:
       Spring3.1.1
        org.springframework.aop-3.1.1.RELEASE.jar
        org.springframework.asm-3.1.1.RELEASE.jar
        org.springframework.aspects-3.1.1.RELEASE.jar
        org.springframework.beans-3.1.1.RELEASE.jar
        org.springframework.context-3.1.1.RELEASE.jar
        org.springframework.context.support-3.1.1.RELEASE.jar
        org.springframework.core-3.1.1.RELEASE.jar
        org.springframework.expression-3.1.1.RELEASE.jar
     新增 Spring AOP 支持、ORM、事务、JDBC 和 Web Jar
        aopalliance.jar
        aspectjweaver.jar
        cglib-nodep-2.2.3.jar
        org.springframework.jdbc-3.1.1.RELEASE.jar
        org.springframework.orm-3.1.1.RELEASE.jar
        org.springframework.transaction-3.1.1.RELEASE.jar
        org.springframework.web-3.1.1.RELEASE.jar
        asm-3.3.jar(在struts2 lib里)
     Struts2 与 Spring 整合 Jar,将 Struts2 对象创建交由 Spring 管理
        struts2-spring-plugin-2.3.15.1.jar 
     删除相同的 Jar
        cglib-2.2.jar、commons-lang-2.4.jar、javassist-3.11.0.GA.jar
        org.springframework.context.support-3.1.1.RELEASE.jar
      添加:applicationContext.xml 配置文件
          (1)配置SessionFactory对象
          <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
            <property name="configLocation">
                <value>classpath:hibernate.cfg.xml</value>
            </property>
        </bean>
        配置Dao实现类中的属性:sessionFactorys
        并使用:this.getHibernateTemplate().find()等方法使用SessionFactory对象
        (2)定义Spring声明式事务
            定义事务管理器
            配置事务规则

        (3)AOP 配置,并设置切入点、织入
        (4)定义Dao、Service、Action 等 Bean 方便注入使用


3.实现 Srping 和 Struts2 整合,导入struts2-spring-plugin-2.3.15.1.jar驱动,
      将 Action 对象的创建和管理由 StrutsSpringObjectFactory 创建,并注入业务对象。
  实现有俩种方式:
      第一种采用 Spring 自动装配(按名称匹配的方式,注意注入业务对象 提供setter的set+业务对象命名规范)
      第二种由 Spring 容器管理 Struts2 的 Action 对象,配置过程。(重点注意struts.xml class修改为bean id)

      编写:Action(理解为控制层吧!)
    编写:Struts.xml 文件  
        重点注意指向Class:不是直接指定而是指向 applicationContext.xml 中定义的 bean id

© 著作权归作者所有

SLoan_
粉丝 12
博文 31
码字总数 45927
作品 0
广州
运维
私信 提问
S2JH全新2.0系初始版本发布,基于SSH的企业Web应用开发框架

趁着小长假整理一下代码和文档,虽然还有需要完善的地方,但是本着 "Done is better Perfect" 的原则,还是先放出S2JH全新2.0系初始版本发布,重大变更如下: 彻底改头换面的UI交互界面,先瞄...

EntDIY
2014/04/07
1K
21
初接触SSH 望各位指点一二 !关于tomcat的发布错误

之前我没有整合SSH三个框架的时候我发布我的tomcat没有报错过,之前也是没有使用ssh的,现在弄一个ssh的项目进去后发布出现了错误,其他不适ssh框架的项目接着也发布不了,更让我崩溃的是我新...

liufeng088
2013/07/27
194
8
欢迎围观:S2JH全新2.0系初始版本发布,基于SSH的企业Web应用开发框架

新闻链接:http://www.oschina.net/news/50536/s2jh-2-0 趁着小长假整理一下代码和文档,虽然还有需要完善的地方,但是本着 "Done is better than Perfect" 的原则,还是先放出S2JH全新2.0系...

EntDIY
2014/04/08
393
1
聊天App—服务端的准备(SSH的学习)

经过十一周两场考试和电子实训后,学习也进入了新的阶段,突发奇想想尝试做一个简易的聊天app项目,以后在朋友间使用也是一件挺有趣的事情。 首先先从服务端的搭建开始,服务端最主要的就是进...

什么都不懂的小石
2017/11/23
0
0
如何在SSH框架中加入JFinal?最终从SSH过渡到Spring+Jfinal

@JFinal 你好,想跟你请教个问题: 当前情况:老项目使用SSH框架,因为历史原因,代码冗余,很多代码已废弃,维护困难。 当前需求:意欲在现有SSH框架下整合Jfinal,最终使项目过渡成Spring+...

zlisten
2017/10/19
540
2

没有更多内容

加载失败,请刷新页面

加载更多

vue v-html动态生成的html怎么加样式

1. v-html加样式 在vue开发中碰到需要动态生成html,并且需要有样式,这时候发现像往常一样写样式的时候不起作用,网上搜了一下,发现通过 v-html 创建的 DOM 内容不受作用域内的样式影响,但...

litCabbage
42分钟前
4
0
Appium+python自动化(三十三)- 测试环境和本地环境傻傻滴分不清楚-Remote(超详解)

  简介   在前边所有涉及启动app的时候有这样一行代码driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps),很多小伙伴们和同学们不知道这个ip和端口哪里来的,我...

开源仔
50分钟前
2
0
各种放大器电路之功率放大器的分析

  供给负载一定输出功率的放大器叫做功率放大器。它是收音机、扩音机或其他电子设备的末级,它推动扬声器发出声音,使电动机转动,使记录仪表动作等。功率放大器主要是考虑如何获得最大的输...

xyxyty
50分钟前
3
0
MySQL8.0.17 - Multi-Valued Indexes 简述

本文主要简单介绍下8.0.17新引入的功能multi-valued index, 顾名思义,索引上对于同一个Primary key, 可以建立多个二级索引项,实际上已经对array类型的基础功能做了支持 (感觉官方未来一定...

阿里云官方博客
今天
13
0
make4.1降级 make-3.81、2错误

在编译 make-3.82 的时候出现如下错误提示 glob/glob.c:xxx: undefined reference to `__alloca'` 修改 /glob/glob.c // #if !defined __alloca && !defined __GNU_LIBRARY__ # ifdef __GNUC......

Domineering
今天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部