Struts,Spring,Hibernate这三个火枪手这几年可以说是所向披靡,红的发紫。我不想说它们每一个的功能,这些网上随便找找就可以得到一堆的结果;也不想说它们之间怎么集成。我要说得是在它们搭档的时候如何让它们各就其职。
我们在做一个应用的时候,有好多要考虑的问题,比如:如何处理例外,如何处理事务,如何访问数据库等等。每个人都有自己的做法。在Struts,Spring,Hibernate集成的项目中我们一般会分出好多的类:Action、Service接口、Service的实现、Dao接口、Dao的实现。这些类又是如何分担这些任务的呢?
也许你会说数据库访问当然要由Dao负责,但是访问中抛出的例外如何办?需要考虑事务吗?我的做法,抛出的例外全部向上抛出(抛给service层),而且大多是抛出运行时例外,dao不需要处理例外。事务更不应该dao来处理。也就是说dao中不应该有commit。dao实现可以用hibernate的方式,而且hibernate也只能用在dao的实现中。
Service主要负责处理事务,大多数例外也抛给action不做处理。一个Service可以依赖多个dao,这样才能保证事务的完整性。
Action负责处理例外,尽量依赖一个service,也许有人不同意这一点,但是当依赖多个service时就容易范事务问题,违反事务的原子性。也许你开发时不会有问题,测试有可能也会蒙混过关。但是上线后终究会出现一些莫名奇妙的问题。
分享到:
相关推荐
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个非常经典的Java Web开发框架组合,被誉为"企业级应用开发的黄金搭档"。本实例“基于spring2.5+hibernate3+struts2开发的网上书店”展示了如何将这三个框架有效...
通过这个项目,开发者可以学习到如何在MyEclipse环境中搭建Struts2和Hibernate的整合项目,理解MVC模式在实际应用中的工作流程,以及如何使用Hibernate进行数据库操作。同时,对于优化和调试也有很好的参考价值,...
其中,基于JSP2技术,并整合Struts2.0、Hibernate3.2与Spring2.5技术的JavaWeb应用被称为“黄金搭档”,广泛应用于各种复杂的项目中。 #### 二、框架介绍 ##### 1\. Struts2框架 Struts2是基于Model2模式的一种...
SSH(Struts2、Hibernate、Spring)是Java Web开发中的经典组合,被誉为“轻量级企业级应用的黄金搭档”。这个框架集为开发者提供了一整套高效、稳定且易用的开发工具,大大简化了Web应用的构建过程。下面将详细阐述...
SSH(Struts2 + Spring + Hibernate)是Java Web开发中的一个经典组合,被誉为“企业级应用开发的黄金搭档”。Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,用于处理和组织业务逻辑;...
8. **SSH**:指的是Struts、Spring和Hibernate三个框架的组合,是JavaEE开发中常见的“黄金搭档”。SSH面试题汇总涵盖了这三个框架的关键知识点和最佳实践。 9. **Hibernate**:Hibernate是一个对象关系映射(ORM)...
这个系统利用了MySQL作为数据库存储数据,后端开发框架选择了经典的SSH(Struts2 + Spring + Hibernate)组合,这种架构在当时是非常流行且成熟的解决方案。 【SSH框架详解】SSH框架是Java Web开发中的“黄金搭档”...