在尝试使用EJB创建应用程序之前,我正在尝试学习Spring Framework。>
[Web services]->[Business Layer]->[DAO Layer]
| [数据库]
以下列方式
WebServices
:使用Jersey
和url mappings
的Restful API,同时支持JSON和XML格式(news/list.json
,news/list.xml
)。端点(URL映射方法)接收到请求后,会将其通过查找(远程,本地)转发到相关的EJB。 EJB处理所有事情,应用业务规则并将结果作为DTO(数据传输对象)返回,服务然后将结果转换为所需的格式(JSON,XML)Business Layer
EJB
中通过remote
和local
接口实现的业务层(外墙),这些EJB可以调用其他EJB。 WebService层(和/或Timer服务和MDB)也可以调用任何EJB)。对于与计时器服务相关的功能,我使用了EJB Timer Service
,对于消息使用了Message Drive Bean
,并使用拦截器进行日志记录和审核。DAO层
JPA/Hibernate
编写在此处(实体Bean和HQL)。无缝事务支持,每个EJB的方法(基于查找)调用都被视为一个单独的事务,而DAO层的调用方法是同一事务的一部分(前提是未提供任何额外的配置)。在一个事务中执行多个操作如果一个数据库操作失败,则所有其他操作将自动回滚。每个表都映射为具有关系等的实体类。我曾从事EntityManager
的工作,但无法正确映射/理解以上架构我对AOP有点了解,我认为它是Interceptor的完美替代品(或至少对我有用)
现在我的问题是如何在Spring框架中替换所有这些?]]
[我试图学习Spring Framework,之前我曾使用EJB创建应用程序[Web服务]-> [业务层]-> [DAO层] | [数据库]通过以下方式Web服务:Restful API ...
春季的泽西(RestAPi)替代品?
@Path
注释)或spring mvc!这并排解释了Spring和Java EE(您将在其中使用EJB):package org.springframework.jms