Spring框架中的EJB替代方案是什么

在尝试使用EJB创建应用程序之前,我正在尝试学习Spring Framework。

[Web services]->[Business Layer]->[DAO Layer]| [数据库]

以下列方式

  1. Jersey与结合使用的Restful API url mappings,支持JSON和XML format(news/list.jsonnews/list.xml)。端点(URL映射方法)接收到请求后,会将其通过查找(远程,本地)转发到相关的EJB。EJB处理所有事情,应用业务规则并将结果作为DTO(数据传输对象)返回,服务然后将结果转换为所需的格式(JSON,XML)

  2. EJB通过remotelocal接口实现的业务层(Facade),这些EJB可以调用其他EJB。WebService层(和/或Timer服务和MDB)也可以调用任何EJB)。我使用了EJB Timer Service与计时器服务相关的功能,并使用了消息Message Drive Bean和用于日志记录和审核的拦截器。

  3. :所有的数据库相关的功能(添加,编辑,删除,搜索)JPA/Hibernate使用EntityManager此写入(实体bean和HQL)。无缝事务支持,每个EJB的方法(基于查找)调用都被视为一个单独的事务,而DAO层的调用方法是同一事务的一部分(前提是未提供任何额外的配置)。在一个事务中执行多个操作如果一个数据库操作失败,则所有其他操作将自动回滚。每个表都映射为具有关系等的实体类。

我已经研究过,Spring

MVC但是对于上面的体系结构我无法正确地映射/理解,我对AOP有所了解,并且我认为它是Interceptor的完美替代品(或者至少对我有用)

  1. spring的泽西(RestAPi)替代产品>
  2. Spring中的EJB替代方案(由于EJB支持远程处理,因此对方法的每个查找调用都被视为事务,对EJB方法的调用可以被拦截,并且具有全状态和无状态形式)?
  3. Spring中的Timer Service替代方案?
  4. Spring中的Message Drive Bean替代方案?
  5. 拦截器替代方案是在spring进行AOP(根据我的经验并能达到我的目的)
  6. 在spring使用JPA(实体管理器)替代方案?

回答:

spring的泽西(RestAPi)替代产品?

我认为Spring MVC可以做到这一点。只需将您的方法中的方法注释为要使用的REST API。

Spring中的EJB替代方案(由于EJB支持远程处理,因此对方法的每个查找调用都被视为事务,对EJB方法的调用可以被拦截,并且具有全状态和无状态形式)?

没有完整的选择。有几种技术可以部分实现此功能:用于远程调用的Spring远程处理,作为事务的Spring事务,用于拦截调用的Spring

AOP拦截器。但是,例如,在Spring中,远程调用上的XA事务并非如此。但是,Spring与EJB配合良好,因此,如果您喜欢它们,仍然可以使用它们,并在软件的其他部分使用Spring。

Spring中的Timer Service替代方案?

Spring任务调度

Spring中的Message Drive Bean替代方案?

消息侦听器容器

拦截器替代方案是在spring进行AOP(根据我的经验并能达到我的目的)

spring有几层拦截器。mvc中有处理程序拦截器,有诸如SpringAutowiringInterceptor之类的bean调用拦截器,还有一些可以在多层中使用的基于AOP的拦截器。

在spring使用JPA(实体管理器)替代方案?

Spring也有多个。仅将JPA与Spring-Data结合使用实际上是非常简单的,它被设计为集成到JPA。如果Spring Data不是您想要的,还有Spring

JDBC和其他数据层替代方法。

以上是 Spring框架中的EJB替代方案是什么 的全部内容, 来源链接: utcz.com/qa/432264.html

回到顶部