Spring Boot集成Jersey

Spring boot整合Jersey 一:介绍     Jersey是jax-rs实现。jax-rs是基于rest的web服务的Java API。Jersey RESTful web服务是SUN Microsystems提供的开放源码。用Jersey 2来创建RESTful web服务。我们将在这里讨论jax-rs API,它将用于创建Jersey RESTful web服务和Jersey客户端,然后我们将为Jersey RES 阅读详情

背景

由于近期协助其他项目组进行改造,在改造过程中,发现对方代码中有一些不太明白的地方,一直没有使用过,如下:
在这里插入图片描述
由于没有接触过这种类似结构,改造起来毫无头绪,所以百度一下。。

概述

java.ws.rs是jax-rs规范中定义的包名
jax-rs全称Java API for RESTful Services
jax-rs规范目前版本是2.0规范文档
jax-rs中定义了
一组启动方式 (以jee作为http容器 还是配合servlet作为http容器)
一组注解@GET, @POST, @DELETE, @PUT, @Consumes … 通过 POJO Resource类 提供Rest服务.

如JSR规范定义Servlet是以继承HttpServlet 并重写doGet doPost do…方法一样 遵循这套标准都可以称为Servlet 写的Servlet程序 可以不经过任何修改放到任何实现Servlet容器中运行 写的jax-rs程序可以不经任何修改和任何jax-rs框架配合使用 而Spring MVC是以Servlet为http容器 并自己构建了一套Api没有遵循jax-rs规范

目前实现jax-rs标准的框架有很多

1、Apache CXF开源的Web服务框架
2、Jersey 由Sun提供的JAX-RS的参考实现
3、RESTEasy JBoss的实现
4、Restlet 由Jerome Louvel和Dave Pawson开发 是最早的REST框架 先于JAX-RS出现
5、Apache Wink 一个Apache软件基金会孵化器中的项目 其服务模块实现JAX-RS规范

既然是Java API for RESTful Services,那自然而然就想到现在比较火爆的springboot,一看资料果然可以集成兼容,选择了Jersey 作为集成对象,走起~

Spring Boot集成Jersey

1、引入依赖

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jersey</artifactId>
            <version>2.2.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

引入依赖之后,需要定义一个ResourceConfig资源配置,并且将需要对外暴露为RESTful接口的方法所在的类注册给jersey。

2、编写配置类

@Component
public class JerseyConfig extends ResourceConfig {

    public JerseyConfig() {
        register(Endpoint.class);
    }
}

JerseyConfig继承了ResourceConfig,在构造中对Endpoint进行了注册,Endpoint为对外暴露RESTful接口的实现类。
ps:ResourceConfig.register方法支持链式调用,我们可以一次性将所有需要对外暴露的endPoint类都注册给ResourceConfig。
3、编写实现类

@Component
@Path("/hello")
public class Endpoint {

    @GET
    public String message() {
        return "Hello";
    }

}

官网告诉我们,每一个注册的endPoint都应该是一个Spring的bean(标注了@Component,@Service等注解,声明为一个Spring的bean),并且需要在类上,方法上标注javax.ws.rs注解,如:@GET、@Path等。

到此我们就完成了基本的Jersey整合Spring Boot的操作,启动应用,通过@Path声明的路径调用我们的接口即可。

4、测试

浏览器请求http://localhost:8080/hello,查看结果:
在这里插入图片描述
总的来说,还是比较简单直观的,习惯了使用SpringMVC之后,换一种开发方式也不失为一种新的体验,更重要的,Jersey框架不仅实现了JAX-RS规范,还提供了自有API以扩展JAX-RS, 它作为官方的实现是值得我们去学习的。

拓展:
除了JerseyConfig。我们还可以通过实现ResourceConfigCustomizer接口从而实现endPoint资源的注入:

@Component
public class DemoResourceConfigCustomizer implements ResourceConfigCustomizer {
    @Override
    public void customize(ResourceConfig config) {
        config.register(SpringbootResource.class);
    }
}

建立了一个实现ResourceConfigCustomizer接口的配置类DemoResourceConfigCustomizer,实现它的回调方法customize,通过ResourceConfig.register同样实现了资源的注册。

Spring Boot进阶(76):使用Spring Boot和Jersey打造高效 RESTful API 本文将会介绍如何使用Spring Boot和Jersey来构建高效的RESTful API。首先,我们将会了解RESTful API的概念和特点。接着,我们将介绍如何配置Jersey和Spring Boot,以及如何使用Jersey提供RESTful服务。最后,我们将提供完整的代码和测试用例,并进行总结和展望。 阅读详情

相关推荐

springboot项目实战-Jersey Restful与Spring Boot集成

在目前的企业级开发中,从开发效率的角度来考虑,通常会选择使用前后端分离的开发形式。后端提供API接口,前端负责对接口进行调用,实现数据的返回和显示。前后端交互的一个重要工具是API,而Restful API是API的一种指导性设计思想,能让后端人员设计出更加优雅的API。本节介绍Restful API的概念和构建方式。

虾米大王的学习历程 883

SpringBoot+elasticsearch+JerseyRESTful +redis博客系统

包含技术Linux、Redis、spring boot、文件上传下载、FreeMarker、thymeleaf、spring jdbc、Spring Data JPA、 MyBatis、 Mybatis Generator逆向生成、CKEditor、AJAX异步上传文件、Jersey实现应用服务器和文件服务器分离、Elasticsearch

Jersey与Spring的整合实践指南

Jersey是一个开源的、可扩展的、生产级的RESTful框架,是Java平台的JAX-RS(JSR 370)参考实现。它为开发者提供了创建RESTful Web服务的工具,以Java API的形式,帮助开发人员高效地构建服务端应用。Jersey不仅提供了完整的JAX-RS规范实现,还引入了额外的扩展点,允许开发者自定义和扩展其功能。

weixin_42596214的博客 1277

微服务系列文章之 Springboot集成Jersey

Component只需要保证JerseyConfig在Application类能够扫描的包下即可。Springboot默认把Jersey的根路径映射在/*上的;这个可以通过几种方式来配置,对于自定义的ResourceConfig方式来说,只需要在类上面添加一个@ApplicationPath注解即可:@Component。

Coder_Boy_的博客 2166

Hadoop生态系统-新手快速入门(含HDFS、HBase系统架构)

Hadoop简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量...

Hadoop环境搭建教程 471

wifi/BT芯片RTL8723DS驱动移植和测试之一wifi篇

本文主要介绍如何在stm32mp157中移植并测试芯片RTL8723DS的wifi功能。

汉尼拔勇闯天涯 8738

SpringBoot整合jersey

SpringBoot整合jersey这篇文章主要从以下几个方面来介绍。简单介绍下jersey,springboot,重点介绍如何整合springboot与jersey。 什么是jersey 什么是springboot 为什么要使用springboot+jersey 如何整合springboot与jersey 什么是jersey阅读官方文档请点击:jsersey。RESTful Web Service

github_38395241的博客 9586

VASPKIT绘制平面平均电荷差分密度

平面平均密度差(planar-averaged electron density difference)是密度差的衍生。密度差是个三维空间函数,经常通过绘制平面图、等值面图方式图形化考察。虽然这两种图很直观,但平面图会受到截面选取的影响,而等值面图会受到等值面数值(isovalue)选取的影响,因此都有一定任意性,也不容易定量讨论。对于电子转移有比较明确方向的情况,可以绘制平面平均密度差曲线,由此可以清楚地考察垂直于选取的方向上每个截面上的密度差积分值,在定量讨论、对比上比较便利。

weixin_43948934的博客 1万+

spring boot 集成jersey自动扫描注册controller

spring boot 集成jersey自动扫描注册controller1. 项目准备2. 项目配置3. jersey使用注意4. jersey 扫描注册 1. 项目准备 使用idea创建一个jersey的项目,核心依赖如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId

a18792721831的博客 987

【软碟通 | UltraISO】刻录光盘教程(制作U盘启动盘)

前言 今天老师说办公室的电脑有点卡,让我给重新安装一个 Windows 7 系统。于是就用软碟通(UltraISO)在 U 盘上刻录了一个 Windows 7 镜像,然后给老师重装了系统。顺便把制作 U 盘启动盘的教程也分享给大家。 软件 UltraISO v9.7.1.3519:点击跳转(密码:dd2k) 教程 将 U 盘插到电脑上,然后鼠标右击选择格式化(制作启动盘必须格式化) 点击文件-打开 选择下载好的系统镜像(如:Windows 7) 点击启动-写入硬盘映像 选择硬盘

XavierJ的博客 2万+

基于matlab的心电信号预处理

这是前段时间做的一个课程设计,做的比较简单,没有考虑到太细,只是初步地达到了想要的效果。这次设计主要是对心电信号进行预处理,将其信号中包含的一些干扰滤除或者抑制掉。 一、心电信号 (1)心电信号的特性   人体心电信号是非常微弱的生理低频电信号,通常最大的幅值不超过5mV,信号频率在0.05~100Hz之间。心电信号是通过安装在人体皮肤表面的电极来拾取的。由于电极和皮肤组织之间会发生极化现象

i_weimoli的博客 6万+

94.Spring Boot集成Jersey【从零开始学Spring Boot】

看到群里有人在问如何集成jersey,博主在别的项目也用过jersey,在这里就给大家简单介绍下spring boot中怎么使用jersey。本章大纲如下: 本章大纲 (1)新建工程spring-boot-jersey; (2)在pom.xml中添加相关依赖; (3)编写启动文件和注册ServletContainer; (4)编写Jersey config文件; (5)编写一个测试文件

AndyLizh的专栏 2143

基于simulink的多能源系统协同控制的复杂场景实例:氢燃料电池+锂电池混合动力电动汽车能量管理仿真

本文介绍了基于Simulink的氢燃料电池与锂电池混合动力电动汽车能量管理系统的建模与仿真方法。系统包含驾驶循环输入、氢燃料电池、锂电池、能量管理和电机驱动等模块,通过Simulink实现各模块的协同控制。文章详细说明了从模型创建到性能评估的完整流程,包括驾驶循环输入设置、燃料电池和锂电池子系统建模、能量管理策略设计等关键步骤。该仿真模型可验证不同工况下的系统响应和能量利用效率,为优化混合动力汽车的能量管理策略提供有效工具。通过引入更复杂的物理细节和环境因素,可进一步提升模型的实用性和准确性。

xiaoheshang_123的博客 368

第十四章、Spring Boot集成Jersey

课时六十五、Spring Boot集成Jersey 看到群里有人在问如何集成jersey,博主在别的项目也用过jersey,在这里就给大家简单介绍下spring boot中怎么使用jersey。 课程大纲 (1)新建工程spring-boot-jersey (2)在pom.xml中添加相关依赖  &lt;!-- jersey --&gt;     &lt;dependency&gt; ...

weixin_38492276的博客 343

【音视频 ffmpeg 学习】 RTMP推流 mp4文件

3.当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。1.RTMP(实时消息传输协议)是Adobe 公司开发的一个基于TCP的应用层协议。2.RTMP协议中基本的数据单元称为消息(Message)。下载地址:http://nginx.org/download。下载 rtmp模块 到nginx 模块下。安装nginx 和 rtmp模块。(1). linux 环境准备。下载nginx安装包。使用 vcl 播放流。

weixin_45397344的博客 2274

手把手教你学PCIE--固件与BIOS配置 - BIOS设置对PCIe性能的影响

本文详细分析了BIOS设置对PCIe性能的影响,并提供了优化建议。通过合理调整链路参数、功耗管理策略和高级功能配置,可以显著提升系统的性能和稳定性。本文将进一步分析BIOS设置如何影响PCIe设备的性能,并提供优化建议。BIOS(或UEFI)是系统启动时的第一个控制层,其设置直接决定了PCIe设备的工作状态和性能表现。BIOS中的功耗管理选项(如C-States、P-States)会影响PCIe链路的低功耗模式(L0s/L1)。MSI/MSI-X中断具有更高的性能和更好的可扩展性,应作为首选方案。

MHD0815的博客 994

spring boot集成jersey框架支持的原理

背景 工程是用的spring boot框架,但存在某些业务需要使用jersey框架提供的能力处理更方便的时候,需要集成jersey。 示例 spring boot本身提供了插拔的配置来支持集成jersey,存在多种实现写法,但是殊途同归。如下是一种写法: 1. 引入依赖 <dependency> <groupId>org...

程序猿的樊笼 1627

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jersey的简单介绍及与spring-boot的集成使用

jersey的简单介绍及与spring-boot的集成使用

不变的24号 7254

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

spring boot 集成springmvc 后,再集成restful (使用jersey)

JerseyConfig 类 package com.xgt.config.jersey; import javax.ws.rs.ApplicationPath; import com.xgt.controller.sync.*; import org.glassfish.jersey.server.ResourceConfig; import org.slf4j.Logger; imp...

Saltwater_leo的专栏 1188

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Spring Boot 集成Jersey 创建JAX-RS RESTFul 应用程序。

Spring Boot Jersey 教程展示了如何在 Spring Boot 应用程序中使用 Jersey 设置简单的 RESTFul 应用程序。Jersey 是Spring Boot @RestController.的替代。 Spring是一种流行的 Java 应用程序框架,用于创建企业应用程序。Spring Boot是 Spring 框架演变的下一步。它有助于以最小的努力创建独立的、生产级的基于 Spring 的应用程序。它提倡使用约定优于配置原则而不是 XML 配置。 RESTful 应用.

allway2的博客 1594

spring boot 集成jersey统一接口返回格式

spring boot 集成jersey统一接口返回格式1. 统一接口返回格式的需要2. 后台如何开发2.1 接口定义统一对象2.2 过滤器统一封装3. jersey中统一异常处理4. 在jersey中注册 1. 统一接口返回格式的需要 对于接口开发来说,接口的返回值,明确的告诉了调用者,调用接口后,将会返回的数据是什么。 所以,接口定义中,接口的返回值总是与接口的返回值一一对应。 但是如果是前端人员调用的话,就不太又好了。 前端希望有一个统一格式的返回,这样可以根据返回的数据做不同的逻辑。 比如返回: {

a18792721831的博客 828

spring boot+grpc+Jersey整合集成

spring boot+grpc+Jersey整合集成 最近接触的新的项目中用到了grpc,所以就学习了一下,但是在学习的过程中在网上基本上没有找到一篇完整的教程从无到有的一步一步的讲解集成的步骤,所以就写了这篇文章,记录下自己的集成步骤,以帮忙像我这样的初学者。 1、项目结构 就是一个普通的maven项目 2、集成步骤 1、创建grpc-complete-demo项目 pom.xml文件如下 ...

梦想的翅膀 2029

Spring Boot视频 - 集成Jersey【周三更新】

【视频&交流平台】 à SpringBoot网易云课堂视频 http://study.163.com/course/introduction.htm?courseId=1004329008 à Spring Boot交流平台 http://412887952-qq-com.iteye.com/blog/2321532   网易云课堂视频最新更新(本周三更新): 第十三章 Spring

悟纤学院 2万+

java spring boot jms_Java编程之Spring Boot通过JMSTemplate 整合ActiveMQ

一.项目结构本教程创建的应用程序结构如下:二.从Spring Initializr创建Spring boot应用程序1.访问Spring Initializr网站,并通过Jersey (JAX-RS)依赖创建spring boot项目2.创建zip文件的项目。解压到自己电脑的某个地方。通过eclipse中的导入maven 已经存在的项目导入该项目3.检查项目的maven依赖文件,看是否有加入sp...

weixin_42620202的博客 156

springboot2 jersey

==============jersey=============== https://www.jianshu.com/p/c14a9028e6e7 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp...

fyinthesky的专栏 551
上一篇: DataSource相关学习(三)
下一篇: SpringBoot集成MyCat实现分库分表
CodersCoder
博客等级 码龄10年 90粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值