`

使用SSH如何构建架构层次

阅读更多

在搭建系统的架构时我们采用了ssh+ajax 等方式构建的。我们一直说要层次分明,思路清晰,可现在都比较糟糕。
比如:JSP页面用来显示数据的,CSS用来美化页面,JS用来控制页面的。现在很多页面中什么都有了,臭味很多。

在后台我们也分了action,service,dao层,原本action用来控制调度的,service用来处理相关的业务逻辑的,dao中用来CRUD数据的。可现在出现了action包裹着一部分逻辑,service就非常简单了,就是用来调用dao中的方法,而dao中的方法即包裹了业务处理逻辑又包裹了CRUD数据处理。而且有的业务逻辑非常的复杂,涉及到的表操作很多,比如:

类似上面的方式,很多数人在大多数的时候都是这么弄的。我觉得这样做就把业务逻辑和数据处理混淆了,方法太臃肿了,有着浓浓的臭味,不便于维护。XP中提倡面向接口编程、分层、短小的方法。它这么一个长长的方法占用一个连接的时间太长(也就是整个事务的时间延长了),那么当其他的用户对相关的表进行请求时,就会出于等待的状态,资源的竞争,如果长时间是这样死锁就出现了。:(

一般会把他们分布在不同的方法中。

这样我的每一个dao中的方法就会用到不同的SESSION(不同的CONNECTION),是这样的吗?但是我是通过SPRING对service层进行事务处理的呀,那是不是说明两种方式都会要占用同样的事务处理资源?

看到那些贫血的SERVICE我就郁闷,现在我有检查代码是否存在问题我也迷茫,这事情做的太少了。很多时候我们只顾一直往前跑,没有时间回头看。其实,我们要经常的code view,使用TDD开发模式,用XP的小步发布,这样不要让代码的味道变的太坏,也对自己写的代码充满信心,和用户交流底气十足。开发出来的系统,用户满意,市场行情看涨。:)

现在我明白了整 个业务方法调用过程中都是使用同一个SESSION(Connection)。至于业务逻辑怎样来平衡分布,是不是可以把一部分放到ACTION,一部分放到service,Dao只负责和数据库处理。对只读的事务我对其只用readOnly。

比如:我上面的例子是不是可以变成如下的样子呢?

我们希望能够更快的结束事务,避免不必要的阻塞,保证系统有更好的性能。

分享到:
评论

相关推荐

    java ssh 架构说明

    Java SSH架构以其清晰的层次划分和强大的功能支持,在企业级应用开发中占据了一席之地。通过Struts处理用户请求,Spring管理业务逻辑,Hibernate/MyBatis实现数据持久化,再结合工作流引擎和数据导出等高级特性,...

    SOA-SSH分层架构的设计与应用.doc

    SSH(Struts、Spring、Hibernate)是一种常见的Java Web应用程序开发架构,主要用于构建高效、可扩展且易于维护的Web应用。这个架构是基于J2EE平台的轻量级框架组合,通过将表现层、业务逻辑层和数据持久层有效地...

    SOA-SSH分层架构的设计与应用word版本.docx

    综上所述,SOA-SSH架构通过合理的分层设计和强大的技术支撑,为构建高效、稳定、易维护的Web应用程序提供了坚实的基础。随着技术的发展,不断优化和完善架构设计,可以使SOA-SSH架构更好地适应日益复杂的应用场景。

    SOA-SSH分层架构的设计与应用word版本.pdf

    总的来说,SOA-SSH分层架构是Java Web开发中的一种经典模式,它通过合理的组件划分和松耦合设计,实现了高效、稳定的系统构建。然而,随着技术的演进,开发者需要持续评估和更新架构,以确保系统的可维护性和适应性...

    SSH开发架构分析和实现

    ### SSH开发架构分析和实现 #### 摘要与引言 随着互联网技术的迅猛发展,Web应用程序的需求日益增加,同时也面临着诸多挑战。为了解决这些问题,开发人员常常需要借助于成熟的技术框架来构建高效、稳定的Web应用。...

    SSH2开发架构

    在开发用户管理系统时,SSH2架构可以帮助我们构建出清晰的层次结构: 1. **用户接口**:使用Struts 2的Action类来处理用户的请求,这些Action类可以调用Service层的方法,执行相应的业务逻辑。 2. **业务逻辑**:...

    SSH框架与MVC架构之间的关系

    SSH框架,全称为Struts2、Hibernate和Spring的组合,是一种常见的Java Web开发框架,用于构建高效、可扩展的企业级应用程序。MVC(Model-View-Controller)架构模式则是SSH框架设计的基础,它将应用程序分为三个主要...

    基于SSH架构的在线答疑系统.doc

    总结来说,该文档详细介绍了基于SSH架构的在线答疑系统的设计与实现,从系统需求分析、技术选型到系统各个层次的实现,以及全文搜索技术的应用,展示了如何利用现代软件开发技术和框架来构建一个高效、实用的教学...

    基于SSH的基础架构设计.doc

    在SSH架构中,通常会分为以下层次: - **持久层(Persistence Layer)**:使用Hibernate进行数据存取,通过Annotation或XML配置来定义对象-关系映射。 - **业务层(Business Logic Layer)**:实现业务逻辑,由...

    ssh框架的理解

    SSH框架,全称为Struts、Spring、Hibernate,是Java企业级开发中的一种经典组合,尤其在SSH2版本中,这三大框架的集成为开发者提供了强大的功能支持和灵活的架构设计。SSH2架构的理解是理解现代Java Web应用开发的...

    基于SSH的高校学生管理系统设计与实现

    2. **分层设计**:SSH架构被分为表现层、业务逻辑层、持久层和域模块层,每层都有明确的功能和职责,通过接口进行通信,提高了系统的可维护性和可扩展性。 3. **高效的开发速度**:SSH框架使得开发者能够快速地开发...

    基于SSH技术的通用框架系统

    这个系统利用SSH技术构建了一个通用的后台管理系统,具备了数据网格(datagrid)的增删改查功能以及树形菜单的操作,对于初学者和开发者来说具有很高的学习价值和实用性。 **1. Struts2框架** Struts2是MVC设计模式...

    SSH开发房屋出租管理系统

    SSH开发房屋出租管理系统是一种基于Java技术的Web应用项目,它利用Spring、Struts2和Hibernate这三个框架(简称SSH)来构建高效、灵活且易于维护的系统。SSH是Java开发领域中广泛采用的MVC(Model-View-Controller)...

    基于J2EE架构的SSH框架研究及应用

    SSH框架是由Struts、Spring和Hibernate三个框架组成的,它们分别在J2EE架构的不同层次中发挥着重要作用。 ##### 2.1 表示层:Struts框架 Struts框架是一个开源的、成熟的、基于MVC(Model-View-Controller)设计...

    SSH+Jquery+ajx TreeView源码

    在这个"SSH+Jquery+ajx TreeView源码"中,TreeView是一种常见的前端UI组件,通常用于展示层次结构的数据,如文件系统、组织架构等。这个项目将TreeView与Ajax结合,通过后台SSH框架从数据库动态获取节点数据,实现了...

    SSH学生管理系统

    SSH学生管理系统是一个基于SSH(Struts2、Spring和Hibernate)技术框架构建的高效、稳定、易维护的软件项目。SSH框架是Java Web开发中的经典组合,由三个强大的开源框架组成,它们分别是Struts2用于视图层,Spring...

    JQuery + ssh

    同样,JQuery可以帮助动态加载和操作树节点,SSH框架则负责在后台处理数据的增删改查及层次结构的构建。 总结来说,"JQuery + ssh"的主题涵盖了使用JQuery与SSH框架进行Web开发的核心技术,包括前端数据展示、用户...

    计算机-后端-基于J2EE架构的SSH组合框架的研究.pdf

    这部分内容可能会详细讨论J2EE的各个层次(如客户端、Web层、业务逻辑层和服务层),以及SSH框架如何在这些层面上发挥作用。 总结来说,这篇论文详细探讨了基于J2EE架构的SSH组合框架,分析了其设计思想、技术特点...

    SSH.rar_ssh_ssh web_ssh 源码_ssh框架配置_ssh项目

    SSH框架指的是Spring、Struts和Hibernate这三种技术的集成,它们分别是应用层、表现层和持久层的解决方案,共同构建出强大的企业级应用开发框架。 Spring是Java应用中的核心框架,它提供依赖注入(Dependency ...

Global site tag (gtag.js) - Google Analytics