- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JSH多层开发架构研究
基于JSH多层开发架构研究
[摘要]目前,随着J2ee技术平台的逐渐成熟和完善,基于它的企业级的Web应用开发也越来越多,大部分的Web应用在层的划分上一般可以被分成4层,分别是:表示层、业务逻辑层、持久层和域模块层,每层在处理程序上都应该有明确的责任,不应该在功能上与其他层混合,并且每层要与其他层之间分开,降低彼此直接的耦合度,详细的分析基于JSH框架的多层架构的各层的具体功能,希望对大家有所帮助。
[关键词]Jsf SpringHibernate 架构
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0810045-01
一、引言
这篇文章通过详细的分析各个层所应该具有的职责和功能,使大家思考怎样组合几个著名的框架使他们之间在企
业级应用中做到松散耦合,怎样在开发中建立你的构架,怎样让你的应用的各个层之间保持一致。富于挑战的是:组合这些框架使得每一层都以一种松耦合的方式彼此通信,而与底层的技术无关。文章将使用3种流行的开源框架来讨论组合框架的策略。表现层我们将使用Jsf,业务层我们将使用Spring,持久层使用Hibernate,当然,在项目中可以根据实际情况来选择到底需要哪一种,通过替换这些框架中的任何一种而得到同样的效果。
二、表示层
一般来讲,一个典型的Web应用的用于实现展示给用户看的那层就是表示层。表示层的功能是采集用户的信息输入、展示数据、控制页面导航并将用户的输入传递给业务逻辑层,表示层同时需要验证用户的输入和做些相关的前台验证工作。JSF非常适合于基于MVC的表示层架构,它在行为和表示之间提供了清晰的分离,它使得你可以采用熟悉的UI组件和web层概念而无需受限于某种特殊的脚本技术或标记语言。
表示层的主要功能是:
1.管理用户的请求,做出相应的响应。
2.提供一个控制器 ,委派调用业务逻辑层处理。
3.处理异常。
4.为显示提供一个模型。
5.UI验证。
但是,为了各层之间的松散耦合和清晰,有些功能不能放在表现层,如下:
1.直接的与数据库的通信,例如JDBC调用。
2.与你应用程序相关联的业务逻辑以及校验。
3.事务管理。
如果在表示层引入这些代码,将会带来高耦合和维护上的困难。
三、业务逻辑层
企业级Web应用的负责业务逻辑处理那层是业务层逻辑层。 从编码的视角来看,这层是最容易被忽视的一层。而我们却往往在表示层或持久层周围看到这些业务逻辑处理的代码,这其实是不正确的,因为它导致了程序代码的紧耦合,这样一来,随着时间推移和需求的变动这些代码讲变的很难维护。幸运的是,针对这一问题有些比较灵活的Frameworks存在。最受欢迎的一个开源框架是Spring,可以把它看作为microcontainers,它能让你很好的把对象搭配起来。 这个框架通过使用‘依赖注射’(dependency injection))这样的思想,把程序中所涉及到包含业务逻辑和Dao的Objects,例如:事务管理控制)、对象工厂、服务组件等都通过XML配置文件的形式联系起来,从而易于扩展和维护。
业务层所负责的如下:
1.处理应用程序的业务逻辑和业务校验
2.管理事务
3.允许与其它层相互作用的提供接口
4.管理业务层级别的对象的依赖。
5.在显示层和持久层之间增加了一个灵活的机制,使得他们不直接的联系在一起。
6.通过依赖注入实现从显示层到业务逻辑层之间的接口调用。
7.管理程序的执行(从业务层到持久层)。
四、持久层
该层主要是跟数据库打交道的一层,凡是涉及操作数据库的内容都在该层来实现,这里通常是程序最容易失控的地方。目前在持久层已经有好多种现成的持久化中间件可供选择,这些ORM开源框架提供的接口可以很好的方便数据库的操作,尤其是Hibernate,它对JDBC进行了轻量级的封装,不仅提供ORM映射服务,还提供了数据查询和数据缓存功能Java开发人员可以方便地通过Hibernate API来操作数据库,Hibernate的持久对象是基于POJO(Pure Old Java Object,简单传统Java对象)和Java 集合的。此外,使用Hibernate并不妨碍你正在使用的集成开发环境,极大的节省了和对象持久化有关的工作量。
下面是持久层需要实现的功能:
(一)查询对象的相关信息。Hibernate通过一个HQL查询语言或者正则表达的API来完成查询。HQL非常类似于SQL,只是把SQL里的table和columns用Object和它的fi
您可能关注的文档
最近下载
- 2025年中国人民抗日战争胜利80周年铭记历史吾辈自强主题党课PPT.pptx VIP
- 承台土方开挖施工方案.pdf VIP
- 人教版(2019)必修第一册 Unit 3 sports and fitness Reading for Writing 导学案(含答案).docx VIP
- 施工总体进度计划及保障措施.doc VIP
- 《四年级上册语文第四单元复习》课件.pptx VIP
- 重庆独立储能电站项目可行性研究报告.docx
- 《思想政治教育学原理》教学.ppt VIP
- 某楼盘项目首期开盘营销工作倒排计划.xlsx VIP
- 2022人教版四年级上册数学期中测试卷含答案(基础题).docx VIP
- 《尿石症的诊断和治疗(2025EAU指南)》解读PPT课件.pptx VIP
原创力文档


文档评论(0)