好文档 - 专业文书写作范文服务资料分享网站

Struts2+Spring+Hibernate在企业人事管理系统中的应用

天下 分享 时间: 加入收藏 我要投稿 点赞

Stru ts2+Sp ring+Hibernate在企业人事管理系统中的

应用

孙 璐1,2

【摘 要】研究了Struts2和 Spring整合的方式方法、Spring和 Hibernate整合的方式方法以及 Struts2、Spring和Hibernate三种技术整合的最佳方案。在实际项目企业人事管理系统中应用了Struts2、Spring和Hibernate整合技术。

【期刊名称】软件导刊 【年(卷),期】2010(009)009 【总页数】4

【关键词】Struts2;Spring;Hibernate;企业人事管理系统

1 Struts2简介

Struts2技术架构是2007年才推出的一种全新的框架。它不是Struts1的升级版本,实际上它是在WebWork的基础上发展而来的。Struts2本身实现了MVC,并且简化了基于MVC模式的Web应用程序的开发,具有模块化、灵活性和重用性的特点。从用户的角度来看,Struts2一共包含三大块的内容,分别是Struts2的核心类、Struts2的配置文件和Struts2的标签库。

2 Struts2、Spring和Hibernate整合的关键技术

2.1 Struts2与Spring整合的各种方式的探讨与比较

Struts2和Spring整合的方式很多,一般采用三种方式:①Spring的 ActionSupport类整合 Struts;②Spring的 DelegatingRequestProcessor覆盖 Struts的 RequestProcessor;③Struts Action管理委托给Spring框架。

2.1.1 Spring 的 ActionSupport类整合 Struts

这种方法是Action不再继承Struts提供的Action,而是继承Spring提供的 ActionSupport类。然后在Action中获得Spring的ApplicationContext。实现过程如下: 在

Action

org.springframework.web.struts.ActionSupport继承来的,这样就使得Struts和Spring紧密耦合在一起。

2.1.2 Spring 的 DelegatingRequestProcessorRequestProcessor

在这种方式中,由Spring来注入对象。获得Application-Cotext和依赖注入的工作都在DelegatingRequestProcessor中完成,通过setXXX()方法来完成依赖注入。实现过程如下:

2.1.3 Struts Action 管理委托给 Spring 框架

Action的创建和对象的依赖注入全部由IOC容器来完成。Sprng的IoC容器会在Web应用启动时完成初始化,并且成为Struts2框架默认的objectFactory,实现方式和第二种方式相同。首先 struts2.xml在 struts.xml文件中配置常量。

<constant name="struts.objectFactory"value="spring"> < /constant>

说明:默认情况下所有由Struts2框架创建的对象都是有ObjectFactory实例化的,ObjectFactory提供了与其他IoC容器如 Spring 集 成 的 方 法 。 在 这 里 用 org.apache.struts2.spring.StrutsSpringObjectFactory代替了默认

覆盖 Struts 的

的ObjectFactory。也就是说,处理用户请求的Action并不是由Struts2框架创建的,而是由Spring创建的。 然后通过setXXX()完成依赖注入。 最后在 applicationContext.xml文件中添加

<!-Action的实例化由spring来完成,这时需要依赖注入业务逻辑Service组件-->

在这种方式中,我们让Action的实例化由Spring来完成,这时需要使用Spring的IoC功能将业务逻辑Serivce组件注入到Action对象中。这种方式有一个明显缺陷:所有的Action都需要在 applicationContext.xml中进行配置,而 Struts.xml文件中还需要配置同样的Action。对于有成百上千个Action的一般应用,配置文件就会过于庞大臃肿。我们可以采用Spring的自动装配功能。

为了简化,可以在Spring对Struts的集成中使用Spring的自动装配功能。在这种策略下,Action还是由Spring创建,但Spring在创建Action实例时,会将对应的业务逻辑组件自动注入Action实例。通过使用自动装配,就不再需要在applicationContext.xml中对 Action 进行配置。 2.2 Spring与Hibernate整合方式的探讨

Hibernate的SessionFactory可以在Spring的配置文件中定义,然后在应用程序中可以通过IoC机制访问它。

Spring可以与Hibernate结合使用Hibernate的连接,事务管理等是由建立SessionFactory开始的,SessionFactory在应用程序中通常只需要存在一个实例,因而SessionFactory底层的DataSource可以使用Spring的IoC注入,

Struts2+Spring+Hibernate在企业人事管理系统中的应用

Struts2+Spring+Hibernate在企业人事管理系统中的应用孙璐1,2【摘要】研究了Struts2和Spring整合的方式方法、Spring和Hibernate整合的方式方法以及Struts2、Spring和Hibernate三种技术整合的最佳方案。在实际项目企业人事管理系统中应用了Struts2、Spr
推荐度:
点击下载文档文档为doc格式
4xanl7xlw238ccg96mxg8n6j4879as00bvm
领取福利

微信扫码领取福利

微信扫码分享