话说在JCF框架里面可以以依赖注入的形式来选择是用EJB或者是POJO来提供后台服务,对于选用了EJB的CMT事务,再使用Spring的事务就没有必要了,如果不要EJB那就要采用Spring的事务了。在JCF中,采用EJB形式调用链是这样的client->delegate->EJBDelegate->SessionFacade->processor->command->dao,事务采用session bean的CMT,采用required策略,在session bean之后的所有的command的数据库操作都处于同一个事务中,如果发生了特定的异常(异常处理类又可以通过spring剥夺开来,针对dao或者command等组件来做不同的异常处理)则调用setrollbackonly函数进行回滚。
如果采用spring的事务,事务的粒度得要好好考虑一下。为了统一两者的关系,使得在使用ejb和spring的事务不用更改代码。经过多翻的验证,事务控制最好放在processor中,在command中发生的异在processor中抓住,并设置相应的errorCode,返回给delegate。这样异常就到不了delegate,根据不同的异常给客户端传进来的state设置不同的errorCode,这样后端的错误就不会导致客户端的停止运行,再根据state的errorCode来做不同的反应。具体的代码随后给出来:
分享到:
相关推荐
Struts2、Spring和EJB3是Java Web开发中的三个重要框架,它们分别在MVC模式、依赖注入和企业级服务方面发挥着关键作用。这个压缩包提供的源代码是一个完整的项目示例,展示了如何将这三个框架集成到一个应用程序中。...
Spring可以通过其AOP功能管理EJB3的事务,同时作为Struts的替代品或补充,提供更灵活的控制流和更好的模型绑定。Spring的DAO和Service层可以作为EJB3的补充,处理数据访问和业务逻辑。而Struts则负责处理HTTP请求,...
例如,一个基于Spring的应用可以使用Spring Data JPA模块来集成Hibernate,简化数据库访问;同时,通过Spring MVC处理HTTP请求,将Ajax调用与后端服务对接。在前端,Ajax可以用于无刷新的表单提交、数据查询或动态...
在实际项目中,Structs、Spring和EJB常常被结合起来使用,以实现最佳的性能和灵活性。例如,Structs可以作为前端控制器,处理HTTP请求,Spring则负责业务逻辑和数据访问,而EJB可以在需要分布式处理或高可用性的情况...
Struts2、Spring和EJB(Struts2+Spring+EJB,简称SSE)是Java企业级开发中常用的三大框架,它们各自承担着不同的职责,共同构建了一个强大的应用架构。Struts2作为MVC(Model-View-Controller)框架,负责处理用户...
在EJB 3.0中,Session Bean和Entity Bean的接口和配置方式得到了简化,增加了Local Home和Local接口,以及更灵活的注解方式。 【试题解析】 1. AJAX 术语是由 Adaptive Path 最先提出的。 2. Hotmail 不属于 Ajax ...
在IT行业中,Spring、Struts和EJB是三个非常重要的框架,它们分别专注于不同领域的应用开发。Spring是一个全面的后端开发框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)以及大量的企业级服务。...
《精通JSF基于EJB Hibernate Spring整合天发与项目实践》是一本深入讲解Java服务器页面(JavaServer Faces,简称JSF)、企业级JavaBean(Enterprise JavaBeans,简称EJB)、Hibernate对象关系映射(Object-...
- 事务管理方面,Spring提供了声明式事务管理,可以在EJB3的Bean或Spring的Service层进行配置,确保银行交易的原子性和一致性。 - 安全性是银行系统的关键,Spring Security可以用来实现用户认证和授权,保护敏感的...
本项目"ejb3+spring+struts实现简单银行系统源码整理"提供了一个基于Java技术栈的银行系统实现,利用了EJB 3、Spring和Struts三大框架,展示了如何有效地整合这些技术来构建一个完整的Web应用程序。 首先,EJB...
在本资源中,"精通JSF-基于EJB Hibernate Spring整合开发与项目实践-第16章代码",我们探讨的是一个使用JavaServer Faces (JSF)、Enterprise JavaBeans (EJB)、Hibernate以及Spring框架进行企业级Web应用开发的实际...
Spring框架的依赖注入设计模式让开发者能够轻松地管理对象之间的依赖关系,而EJB 3.0的Java注解则简化了EJB的声明式编程模型,使得容器可以自动处理事务、安全性和持久化等复杂任务。 总之,“POJO Application ...
在本章中,我们将深入探讨如何在Java企业级开发中集成和使用JavaScript Faces(JSF)、Enterprise JavaBeans(EJB)、Hibernate以及Spring框架。这些技术是构建高效、可扩展的企业级应用的重要工具,它们各自拥有...
在EJB或JTA环境中,Spring也可以作为容器的一部分,利用JTA(Java Transaction API)进行全局的分布式事务管理。这种方式适用于多数据源环境,能处理跨越多个数据库的事务。 5. 自动事务管理: Spring在某些特定...
8. **MVC模式在JSF中的实现**:解释JSF如何符合MVC设计模式,以及如何分离视图、模型和控制器。 9. **性能优化**:可能包括了JSF的缓存机制、EJB的懒加载策略、以及Spring的缓存支持等提高系统性能的方法。 10. **...
它提供了一种组织应用结构的方式,将业务逻辑、表示层和控制逻辑分离,提高了代码的可维护性和可测试性。Struts通过Action和ActionForm类处理HTTP请求,并使用Tiles组件来实现页面布局。 **4. SSH架构集成** SSH是...
**小结:**EJB3.0和Spring在供应商独立性方面都有很好的表现,但Spring通过其灵活的DI机制,在这一领域提供了一种更为简单的方法来实现组件之间的解耦和管理。 #### 二、服务集成(Service Integration) EJB3.0在...
EJB组件负责处理事务、安全性和其他企业级服务。 3.1 EJB介绍 作为J2EE的核心组件,EJB提供业务逻辑并与其他服务器端组件交互。EJB2.1规范将其定义为分布式计算体系结构,是安装在应用程序服务器中的Java组件,支持...
通过这个JavaEE实用开发指南,学习者将能够掌握如何在Weblogic上部署和管理应用,理解EJB3的企业级服务,学习使用Struts2和Hibernate构建动态Web应用,以及如何利用Spring进行灵活的组件管理和依赖注入。同时,多...