Spring框架中的EJB替代什么

问题描述 投票:5回答:3

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

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

以下列方式

  1. WebServices

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

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

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

    我曾从事EntityManager的工作,但无法正确映射/理解以上架构我对AOP有点了解,我认为它是Interceptor的完美替代品(或至少对我有用)

现在我的问题是如何在Spring框架中替换所有这些?]]

  1. 春季的Jersey(RestAPi)替代品>
  2. Spring中的EJB替代方案(由于EJB支持远程处理,因此对方法的每个查找调用都被视为事务,可以拦截对EJB方法的调用,并且具有状态全状态和无状态风味)]
  3. Spring中的计时器服务替代品?
  4. Spring中的Message Drive Bean替代品?
  5. 拦截器替代品是Spring中的AOP(根据我的经验并能达到我的目的)
  6. 春季的JPA(实体管理器)替代方案?
  7. [我试图学习Spring Framework,之前我曾使用EJB创建应用程序[Web服务]-> [业务层]-> [DAO层] | [数据库]通过以下方式Web服务:Restful API ...

java spring spring-mvc jpa ejb-3.0
3个回答
4
投票

春季的泽西(RestAPi)替代品?


3
投票
  • Spring中的Jersey(RestAPi)替代项⇨如果您想使用控制器(Spring JDBC注释,则为rest api(在春季带有@Path注释)或spring mvc!

3
投票

这并排解释了Spring和Java EE(您将在其中使用EJB):package org.springframework.jms

© www.soinside.com 2019 - 2024. All rights reserved.