`
jiony
  • 浏览: 184922 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用Hibernate+Spring+Struts整合个人尝试方法

    博客分类:
  • SSH
阅读更多

      先从思路开始把,当我们学一种技术的时候,首先要的是我们的思路要清晰,这才有可能把它弄明白,所以我们平时要多锻炼自己的逻辑思维能力,尽量多地想一些实际问题。Hibernate是持久层,Spring是一个装载组件提供服务的容器,Struts是一种MVC模式的框架。所以我就从Spring着想:采取了三个方式来整合。

第一种方式:

采用spring自带的一个插件:org.springframework.web.struts.ContextLoaderPlugIn
在struts-config.xml 的<message-resources parameter="struts.ApplicationResources" />后面添加
 

<!-- struts插件 -->
  <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
   <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/>
  </plug-in>。 
 

但是当我们使用这种方式的时候需要注意一下:
1.我们在struts里的配置中的<action>配置中需要注意:需要用到spring中的动态struts代理:具体配置比如:
<!-- type:指的是spring中的动态struts代理,利用它可以截获对应的方法 所以此文件主要配置action中对应的方法-->
 

<action-mappings>
   <action path="/findAll"
           type="org.springframework.web.struts.DelegatingActionProxy"
           scope="request" parameter="findAll">
    <forward name="ok" path="/ok.jsp"/>
   </action>
</action-mappings> 
 

并且这里我们还需要复制一份spring的配置文件,文件名命名为:spring-action.xml(可以自己定义),作为专门配置action中的bean比如:
<!-- 此文件是配置一些对应的action模块的具体的类。
     name要与struts-config.xml的path对应 -->

<bean name="/findAll" class="actions.MappingActions">
      <property name="dao" ref="UserDAO"></property>
</bean> 
 2.还要注意的是,我们在action类中继承的是MappingDispatchAction,也就是说是利用Struts里中的

第二种方式: 采用Spring的Listener来监听获取Spring中的配置。主要操作是:
首先在web.xml中配置:
 

 <listener>
   <listener-class>
       org.springframework.web.context.ContextLoaderListener
  </listener-class>
</listener> 
 

但是当我们使用这种方式的时候需要注意一下:
1.我们在struts里的配置<action>不需要用到spring中的动态代理,直接配置,像纯struts里一样配置。
2.还要注意的是,我们在action类中继承的是MappingDispatchActionSupport,也就是说是利用Struts里中的,这样我们就可以通过spring的这个MappingDispatchActionSupport类中的方法获得在Spring中配置的bean:比如:在这个Action中我们需要用到UserDAO,我们就可以这样获得,这样减少了spring与struts的耦合度。
ApplicationContext context=this.getWebApplicationContext();
UserDAO dao=(UserDAO) context.getBean("UserDAO");
第三种方式:
我们直接在web.xml中配置以下信息:
 

<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>
  <servlet>
   <servlet-name>springInitServlet</servlet-name>
   <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
   <load-on-startup>2</load-on-startup>
  </servlet>
 我们同样使用的是struts的MappingDispatchAction,struts里的配置同样是纯Struts里的配置一样,不需要与spring的耦合,spring只与hibernate耦合。但是我们怎么获得spring里的bean注入呢?这就是关键了:比如我们在Action中需要调用service层的方法,则我们需要获得service的实例,但是又是事务层,我们通过了spring的事务管理机制来管理,也就是说我们需要获得这个service的在spring中的bean。注意我们通过:

WebApplicationContextUtils.getWebApplicationContext(this.getServlet().getServletContext());可以获得springContext.xml的配置文件信息,从而通过getBean("")的方法来获得这个service的实例。Ok.

public FileServiceInf getFileService(){
  ApplicationContext ac=WebApplicationContextUtils.getWebApplicationContext(
       this.getServlet().getServletContext());
  return (FileServiceInf) ac.getBean("modelProxy");
}
 有兴趣的浏览者可以试着去作一下,我已经说得很明白了,注意:做IT的,就要学会做实验,计算机就是我们很好的老师,可以证明我们的所有观点。

 

分享到:
评论

相关推荐

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    Java Web整合开发完全自学手册:Struts+Hibernate+Spring+Eclipse源码

    如何整合这4个开源框架进行J2EE开发,如何基于MyEclipseIDE进行开发,J2EE开发的基础和基础环境搭配,Struts、Hibernate、Spring、Eclipse四个框架的使用,如何整合Struts+Hibernate+Spring+Eclipse框架。...

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码(内附数据库导出文件) 与书上最后一章内容完全对应 可以结合书上教程进行最后一章学习

    车辆管理系统(struts+hibernate+spring+oracle).rar

    Struts、Hibernate和Spring的整合使用,形成了SSH框架,它提供了强大的功能和灵活性,可以实现复杂的业务逻辑。例如,Spring的AOP可以用于日志记录、权限控制等跨切面需求,进一步提升系统的可维护性和安全性。 7. ...

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用03

    Struts2、Hibernate和Spring是Java企业级应用中三大核心框架,它们的整合使用能够构建出高效、可维护性高的Web应用程序。本篇将深入剖析这三者如何协同工作,并提供实际范例应用。 首先,Struts2作为MVC(模型-视图...

    开发者突击·Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)源码

    《开发者突击:Java Web主流框架整合开发(J2EE+Struts+...随书附赠光盘内容包括《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》10种架构原型程序包、个人通讯录及办公自动化系统源程序。

    hibernate+spring+struts一个简单例子

    在IT行业中,构建Web应用程序时,常常会使用到三大框架:Hibernate、Spring和Struts。这些框架协同工作,可以极大地提高开发效率并简化代码管理。本文将深入探讨这三大框架的整合及其在实际项目中的应用。 首先,让...

    基于hibernate+spring+struts的学生选课系统

    【标题】"基于hibernate+spring+struts的学生选课系统"是一个常见的Java Web开发框架的集成应用,用于构建高效、稳定且易于维护的学生选课管理平台。这个系统利用了三大主流开源框架:Hibernate作为对象关系映射...

    10.6struts2+hibernate+spring的整合源代码

    SSH(Struts2+Spring+Hibernate)框架整合是Java Web开发中常见的一种技术栈,能有效地提高开发效率和代码质量。 Struts2作为MVC框架,主要负责处理HTTP请求,控制应用程序的流程,提供视图和控制器的分离。它的...

    Struts2+Hibernate+Spring4 整合微信登录demo

    **Struts2+Hibernate+Spring4 整合微信登录demo** 该项目是一个综合示例,旨在帮助初学者了解如何将流行的Java开发框架Struts2、Hibernate和Spring4整合在一起,并实现微信登录功能。这三个框架在企业级Java应用...

    spring+struts2+hibernate+mybatis

    一个简单的spring+struts2+hibernate+mybatis整合(数据库脚本放在项目资源文件的sql目录下) 因为没想好mvc用springmvc好,还是struts2好 所以没有整合进去

    struts2+hibernate+spring+dwr整合

    Struts2、Hibernate、Spring 和 DWR 是四个在Java Web开发中非常重要的框架,它们各自在不同的领域提供了强大的功能,并且能够通过整合实现更高效、更灵活的应用开发。接下来,我们将详细探讨这些技术以及它们如何...

    java web 实战宝典_JSP+Servlet+Struts_2+Hibernate+Spring+Ajax

    SSH框架整合是指在Java Web项目中,将Struts 2、Spring和Hibernate三个框架结合使用。Struts 2是基于MVC设计模式的Web层框架,Spring是一个全面的轻量级解决方案,提供了企业级开发的支持,包括依赖注入、事务管理、...

    Java Web整合开发实战:基于Struts 2+Hibernate+Spring(PDF)

    Java Web整合开发实战--基于Struts 2+Hibernate+Spring.pdf 1章 Web的工作机制 2章 搭建Java Web开发环境 3章 JSP及其相关技术 2篇 表现层框架Struts技术 4章 Struts快速上手 5章 解密Struts之核心文件 6章 ...

    JavaWeb整合开发王者归来JSP+Servlet+Struts+Hibernate+Spring.part3

    JavaWeb整合开发王者归JSP+Servlet+Struts+Hibernate+Spring共分五部分。这是第三部分。

    整合Struts+Hibernate+Spring应用开发详解2

    本光盘是《整合Struts+Hibernate+Spring应用开发详解》一书的配书光盘,书中的代码按章存放, 即第二章所使用的代码放在codes文件夹的02文件夹下,依次类推。 本光盘根目录下有11个文件夹,其内容和含义说明如下: ...

    基于struts+hibernate+spring的用户管理系统

    【基于Struts+Hibernate+Spring的用户管理系统】是一种常见的企业级Web应用架构,它整合了三个主流的Java技术框架,以构建高效、可维护性高的系统。Struts提供了MVC(Model-View-Controller)设计模式,使得业务逻辑...

    整合Struts+Hibernate+Spring应用开发详解

    本光盘是《整合Struts+Hibernate+Spring应用开发详解》一书的配书光盘,书中的代码按章存放, 即第二章所使用的代码放在codes文件夹的02文件夹下,依次类推。 本光盘根目录下有11个文件夹,其内容和含义说明如下: ...

    精通J2EE——Eclipse+Struts+Hibernate+Spring整合应用案例(pdf完整版).part2-1

    精通J2EE——Eclipse+Struts+Hibernate+Spring整合应用案例 pdf电子书, 包含所有18个章节的完整版, 美中不足的是扫描质量不是很高,且是第一版的,不是目前最新的第二版! 请看清楚了再下,免得后悔! 共有两个部分-这...

    Hibernate+Spring+Struts2+ExtJS整合开发实例

    "Hibernate+Spring+Struts2+ExtJS整合开发实例"就是一个典型的Java Web应用程序开发案例,它将四个关键组件结合在一起,以实现高效、模块化的后端和前端功能。 **Hibernate** 是一个流行的Java对象关系映射(ORM)...

Global site tag (gtag.js) - Google Analytics