现在给美国老作项目,他们那边要求一定要用"Struts+Spring+Hibernate"来实现,下面就是我对它们组合的理 解:
1,先说说表示层
其实没有必要使用struts,除非你有历史遗留问题不得不用struts,因为spring的mvc已经足够好了:
a. 清晰的模型对象传递,这个模型对象可以是任何java对象,如果你不在意在各层之间传递同一个对象的
话,这个模型对象就可以是hibernate的persistent object,通过open session in view,你可以以一致的方式使用业
务模型对象。
b. reference data,让你清晰的处理look up数据。
c. 多种可供选择的视图解析类型,可以在prpperties文件中定义page的逻辑名,或者定义在xml文件里的struts
tiles逻辑名。
d. 无干扰的数据绑定,一个<spring:bind>可以对模型对象和form进行绑定,就像struts自动填充formbean一样,但
spring 的绑定功能不会干扰界面布局,也就是说,你仍然可以使用html编辑器对页面进行处理。
e. 客户端验证。
f. 服务器端验证。
g. 多种可供选择的控制器,其中支持表单的控制器提供了类似vb中表单事件处理的功能,这是一系列的
workflow,在你认为合适的地方,插入你的处理代码。
spring mvc与struts比较,可能只是少了很多taglib和页面布局,但这都可以通过第三方工具补充,因为视图相比于其他部分,毕竟更轻量级一些。可以选 择的第三方工具可以是:displaytag,struts-menu,struts tiles,等等。
2,在说说业务逻辑部分
业务逻辑类可以用spring的beans进行配置,并由spring管理与表现层的控制器及更下层的DAO对象的关系。另外,还可以进行配置性的事务处理,一个interceptor配置,免去了你的所有烦恼。
3, dao层
用spring 封装后的hibernate API,让Hibernate继续瘦身,并且通过spring建立与上层的关系。
4, 最后,说说hibernate的po
你可以选择你喜欢的任何方式进行建模,以下工具提供了足够的支持:
a. 从java对象到hbm文件:xdoclet
b. 从hbm文件到java对象:hibernate extension
c. 从数据库到hbm文件:middlegen
d. 从hbm文件到数据库:SchemaExport
至 于可供参考的项目,可以看看spring的例子petclinic(spring+hibernate),还有一个不可不看的网站:http: //raibledesigns.com/wiki/Wiki.jsp?page=AppFuse(struts+spring+hibernate或 spring mvc + spring +hibernate)。另外,spring带的mvc step-by-step是一个很好的入门教程。
需要说明的是,spring仅仅为我们提供了一种设计和实现框架的方式,因此,项目的成功与否,是与我们的构架设计紧密相关的,在有了好的设计思想以后,善用spring,会让我们的成功来的更容易。
分享到:
相关推荐
基于系统开发的软件工程规范的需要,本人严格执行需求分析,概要设计,详细设计与编码以及系统设计等设计步骤来完成该系统,并且在系统开发过程中结合理论知识与开发技术,完成了网上订餐系统平台的构建,实现预期的...
一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...
《轻量级Java EE企业应用实战 第3版》是一本深度探讨Java EE开发技术的书籍,专注于Struts 2、Spring 3和Hibernate这三大框架的整合应用。这本书旨在帮助开发者掌握如何在实际项目中有效地集成这三个流行的技术,...
【标题】"struts+spring+hibernate租房项目"是一个基于JavaEE技术栈的实战应用,它结合了Struts1、Spring和Hibernate三个核心技术,旨在实现一个完整的网上租房系统,包括前台展示和后台管理功能。 【Struts1】是...
一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...
5. 整合案例分析,展示如何在一个实际项目中集成这三个框架。 6. 错误处理和日志记录,提高系统的可维护性。 掌握这些知识后,开发者将具备构建大型、复杂Java Web应用的能力,能够灵活应对各种业务需求,提高项目...
Struts、Spring和Hibernate,简称SSH,是Java Web开发中常用的三大开源框架,它们各自承担着不同的职责,共同构建了一个高效、灵活的企业级应用开发体系。在这个"Struts+spring+hibernate项目"中,我们可以看到这三...
**毕业设计** 意味着这个项目可能包括了需求分析、系统设计、编码实现、测试和文档编写等全部开发环节,对于学习者来说,是一个很好的实战练习,可以深入理解每一个环节的作用和重要性。 总的来说,这个“移动SSH...
本项目“JSP+Struts+Spring+Hibernate 企业人力资源系统”正是以此为目标,采用主流的Java Web开发框架,结合强大的数据库支持,构建了一个功能完善、可扩展性强的人力资源管理系统。 首先,该系统的核心技术栈由四...
Struts主要处理MVC(模型-视图-控制器)设计模式中的控制层,Hibernate则专注于对象关系映射(ORM),简化数据库操作,而Spring作为一个全能型框架,提供依赖注入(DI)、面向切面编程(AOP)、事务管理等多种功能。...
本项目以"Spring+Struts2+Hibernate"三大框架为核心,旨在实现一个校园精品课程网的后台系统,提供丰富的功能和良好的用户体验。下面将详细介绍这三个框架以及它们在该项目中的应用。 1. Spring框架:Spring是Java...
"用maven整合struts+spring+hibernate"这个主题,就是关于如何将这三大核心框架——Struts、Spring和Hibernate——集成到一个项目中的实践教程。Struts提供了MVC(Model-View-Controller)架构,Spring是全面的后端...
1)JSP+javabean+DAO(Ajax:anywhere) 2)Struts+spring+hibernate3(AJax:DOJO) 3)JSF+richfaces+seam+EJB 总共3个完整的实例,并配有需求分析~~~~~~~~,绝对经典!
这个“4、博客系统(struts+hibernate+spring).zip”文件可能包含了一个完整的博客系统的源代码,让我们详细探讨这三个框架及其在构建Web应用中的作用。 **Struts框架**: Struts是Apache软件基金会的一个开源项目,...
总的来说,这个“Struts+Spring+Hibernate 集成实现的经典权限管理系统”提供了一个完整的解决方案,展示了如何在Java Web应用中有效地管理权限,同时也为开发者提供了一个学习和实践整合这三大框架的实例。通过分析...
总的来说,Struts + Spring + Hibernate的组合提供了强大且灵活的开发工具,适合处理复杂的业务逻辑和数据操作,是Java Web开发中的一个主流选择。通过合理的设计和良好的实践,可以构建出高效、稳定的Web应用程序。...
在实际开发中,一个可能的流程是这样的:用户通过Struts2发起报表请求,Struts2 Action接收到请求后,利用Spring的依赖注入获取到需要的Service,Service通过Hibernate从数据库获取数据,然后使用Apache POI将数据...