什么是针对spring(boot)数据的@Repository的泽西模拟

时间:2016-10-25 20:47:01

标签: java spring jersey

我的任务是遗留代码的完全重构。它是一个简单的Web服务,只是一个http请求,然后是业务逻辑,可能有一些数据库调用和一些其他微服务调用,然后是一个json响应。我被推不使用弹簧靴,因为我之前没有其他人使用它,我被告知球衣一切都是春季靴子。我从来没有使用过球衣,所以我试图找出如何做到弹簧靴简单的事情(即存储层与弹簧数据,缓存,弹簧 - 领域,弹簧 - 弹簧,弹簧 - 执行器,弹簧断路器)看起来像jersey确实模拟了spring-security,bean验证和servlet过滤器的简单插入,但并不是spring-boot所做的一切。有没有一种简单的方法可以在泽西的JPA类型存储库中连接?我无法在https://jersey.java.net/documentation/latest/index.html的文档中找到它。

1 个答案:

答案 0 :(得分:2)

我这样想。您的应用程序中有不同的层。您有一个服务层,并且您有一个“REST层”。您可以使用服务层访问Spring存储库。然后你有REST层。使用Spring,您可以使用Spring MVC作为其Web层实现,您也可以将其用作REST服务。还有Jersey,它完全独立于Spring,这是另一个REST层选项。

可以说,当使用Spring MVC作为REST层时,使用Spring数据添加服务层是无缝的。但Jersey也与Spring集成,允许我们在Jersey REST服务中的服务层使用Spring。你查看了this post,其中有一些链接,说明如何做到这一点(没有黑客攻击,这是开箱即用的支持)。使用这种方法,您可以将Spring数据存储库注入Jersey资源类

interface PetsRepository extends JpaRepository<Pets, Long> {}

@Path("/pets")
class PetsResource {
  @Autowired
  private PetsRepository repo;
}

现在让我们谈谈Spring Boot。 Spring Boot只是一个引导框架。它的作用是让您轻松地引导应用程序,而不需要没有它所需的所有样板配置。当您使用Spring Boot作为REST服务时,实际上并没有将Spring Boot本身用作REST服务引擎。您只是用它来引导Spring MVC,也许是您的Spring Data。但Spring MVC是实际的REST服务引擎。

就像我之前说的那样,泽西岛支持将Spring集成到其中(用于服务层)。由于这种支持,Spring Boot还提供了一个引导配置来无缝集成这种支持。因此,Spring Boot不是使用您在上面链接的示例中看到的手动配置,而是为我们处理此配置。所以我们可以使用Jersey作为REST层,使用Spring bean作为服务层。看看下面的链接

另见: