Spring Boot与JAX-RS框架Jersey的完美搭配
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot与JAX-RS框架Jersey的完美搭配相关的知识,希望对你有一定的参考价值。
参考技术A编辑推荐:
Jeresy是一个轻量级的JAX-RS框架
添加Jeresy 2.x的依赖
build.gradle文件内容:
创建一个 spring boot 项目
在IDE里一路next
Spring Boot启动APP
注册jersey servlet
这和原来在 web.xml 配置的是一样的,设置 Mapping,设置 init 初始化参数,对应的 servlet class name .
所有的rest/*请求都将被 ServletContainer jersey servlet 容器接管.
创建jersey Resources
packages方式是采用扫描包的方式批量注册
register 是单个注册
创建jersey Controller,使用 JAX-RS 规范的注解进行设置即可
启动Spring Boot程序
默认端口号是:8080
在浏览器里测试
输入:http://127.0.0.1:8080/rest//user/123678
返回: "userName": "mvc.","id": 123678
Spring Boot 与 JAX-RS(Restlet)的简单微服务 [关闭]
【中文标题】Spring Boot 与 JAX-RS(Restlet)的简单微服务 [关闭]【英文标题】:Spring Boot vs. JAX-RS (Restlet) for dead simple microservice [closed] 【发布时间】:2016-05-22 01:58:07 【问题描述】:我想构建一个非常小的自包含微服务,服务于一些 REST 操作,将数据存储在内存中(不需要持久性)。
因此,我正在寻找框架方面的最轻量级方法。在研究了可用的 JAX-RS 实现之后,Restlet 似乎是一个不错的选择。
还推荐了 Spring Boot,并带有您不需要 JAX-RS 的注释。我有点困惑。 JAX-RS 不是 Java REST 应用程序的标准吗?我不需要将 Spring Boot 与 JAX-RS 结合起来吗?
【问题讨论】:
【参考方案1】:它们是完全不同的野兽,它们都可以以各自的方式对你有用。
我会解释:
Spring Boot 完美支持 Rest 服务。 Spring Boot 大放异彩,因为您可以在 5-6 行代码中创建一个休息服务。Spring Boot 将:
处理 web 容器(它嵌入了 Tomcat/Jetty,尽管您也可以选择在外部部署战争)
处理所有依赖项(版本合规性等)。它还意味着 JSON 操作框架,而不仅仅是声明 REST 端点的方式。 Spring Boot 默认使用 Jackson。
处理包装所有物品的所有麻烦。如果您使用 WAR,它可能就没那么有趣了(当然,在这种情况下,您必须考虑 Web 容器,而 Spring Boot 会为您完成)。但是你使用 Jars - spring boot 将创建一个可以加载 java -jar <youjar>
的大 jar。
可以选择为您的应用程序提供指标和 JMX 内容 - 只需声明对执行器的 Maven/Gradle 依赖项即可。
所有这一切都使 Spring Boot 非常适合开发自包含微服务,这可能就是您的情况。
相反,如果您正在寻找框架来为现有解决方案提供休息,那么您可能不会使用 Spring Boot。也许你根本没有使用 Spring,谁知道呢?
所以我想说,Jersey/Restlet 等只是 Web 框架,用于更轻松地在 Java 中开发 REST 服务。而且 Spring Boot 更多的是管理你的应用程序,当然它也提供了一种使用 REST 服务的方式,就像它提供了一种使用 JDBC、Servlet API 等的方式一样。
【讨论】:
【参考方案2】:JAX-RS 是 Java EE 规范的一部分,也是应用服务器的标准 REST API,它实现了 Java EE 规范。每个应用程序服务器通常都有自己的实现,让它成为 Wildfly、Jersey、Wink 等的 RestEasy。 这并不意味着每个支持 REST 的 Java 框架都必须实现 JAX-RS。也就是说,Restlet 不是 JAX-RS 实现,它是一个完全独立的框架(就像 Spring MVC 及其 REST 功能一样,Spring Boot 默认使用它)。
您还可以使用 JAX-RS 为 REST 开发 Spring Boot 应用程序,Spring Boot 为 Jersey 提供启动 POM 以及自动配置以最大程度地减少您自己的配置工作。
【讨论】:
以上是关于Spring Boot与JAX-RS框架Jersey的完美搭配的主要内容,如果未能解决你的问题,请参考以下文章
爬虫框架webmagic与spring boot的结合使用--转