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时就容易范事务问题,违反事务的原子性。也许你开发时不会有问题,测试有可能也会蒙混过关。但是上线后终究会出现一些莫名奇妙的问题。
分享到:
相关推荐
收集的Java Web整合开发实战:基于Struts 2+Hibernate+Spring-源代码,看到其他人下载币要的太多,给大家分享一下。 不是很全,但可以拿来参考了。 由于大小限制,还有另外一个包······
Java Web整合开发实战--基于Struts 2+Hibernate+Spring.pdf 1章 Web的工作机制 2章 搭建Java Web开发环境 3章 JSP及其相关技术 2篇 表现层框架Struts技术 4章 Struts快速上手 5章 解密Struts之核心文件 6章 ...
论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts...
精通Java EE:Eclipse Struts2 Hibernate Spring整合应用案例代码和数据库压缩包6
收集的Java Web整合开发实战:基于Struts 2+Hibernate+Spring-源代码,看到其他人下载币要的太多,给大家分享一下。 不是很全,但可以拿来参考了。 由于大小限制,还有另外一个包······
在整合Struts2、Spring和Hibernate时,我们通常会遇到一些包冲突的问题,尤其是在使用IDE如MyEclipse时。这可能是由于不同库版本之间的不兼容性,或者是重复引入了相同的类导致的。解决这些问题通常需要仔细检查项目...
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
4. **整合Struts2和Spring**:使用Struts2的Spring插件,将Spring管理的Bean注入到Struts2的Action中,通常通过`<struts-plugin>`标签进行配置。 5. **配置Struts2**:创建Struts2的配置文件(struts.xml),定义...
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...
SSH框架,即Struts2、Hibernate和Spring的组合,是Java Web开发中广泛使用的三大开源框架。它们各自负责Web应用程序的不同层面,通过整合可以提供一套完整的解决方案,实现MVC(Model-View-Controller)设计模式,...
Struts2、Hibernate和Spring是Java企业级应用中常用的三个开源框架,它们分别负责MVC模式中的表现层、持久层和业务层管理。SSH(Struts2+Spring+Hibernate)框架整合是Java Web开发中常见的一种技术栈,能有效地提高...
Struts2、Hibernate和Spring是Java企业级应用中三大核心框架,它们的整合使用能够构建出高效、可维护性高的Web应用程序。本篇将深入剖析这三者如何协同工作,并提供实际范例应用。 首先,Struts2作为MVC(模型-视图...
Struts2、Spring4和Hibernate4是Java Web开发中的三大主流框架,它们分别负责MVC模式中的表现层、业务层和服务层。这个最新的项目系统整合了这三个框架,旨在提供一个高效、灵活且易于维护的开发环境。下面将详细...
`struts2-spring-plugin.xml`配置Struts2与Spring的集成,确保Action类由Spring容器管理。`spring-context.xml`中,需要配置数据源、SessionFactory、事务管理器以及各业务层和DAO层的bean。Hibernate的`hibernate....
Java论坛系统源码是基于三大...综上所述,这个Java论坛系统源码是一份宝贵的教育资源,它不仅展现了Struts 2、Hibernate和Spring的集成使用,还提供了实践这些技术的实例,有助于加深对Java Web开发的理解和技能提升。
Struts2、Hibernate和Spring是Java Web开发中的三大主流框架,它们各自负责应用程序的不同层面:Struts2专注于表现层,Hibernate处理数据持久化,而Spring则在业务逻辑和依赖注入方面发挥重要作用。将这三个框架整合...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责:Struts2作为MVC框架处理请求和展示,Spring提供依赖注入和事务管理,Hibernate则作为ORM框架处理数据库操作。将这三个框架整合在...
以下章节源码[03] [04] [05] [08] [10] [11] [12] [13] [14] [15] [16]
Struts2、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责应用程序的不同层面:Struts2处理MVC(Model-View-Controller)架构中的控制层,Hibernate专注于数据持久化,而Spring则提供了全面的依赖注入和...
在现代Web应用开发中,SSH(Struts2、Spring、Hibernate)框架因其各自独特的功能和优势,常被组合使用以构建高效、稳定且易于维护的系统。以下是针对SSH框架整合的具体实施步骤和思路。 #### 二、整合步骤详解 ##...