热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

SpringBoot整合jersey的示例代码

这篇文章主要从以下几个方面来介绍。简单介绍下jersey,springboot,重点介绍如何整合springboot与jersey。

这篇文章主要从以下几个方面来介绍。简单介绍下jersey,springboot,重点介绍如何整合springboot与jersey。

  • 什么是jersey
  • 什么是springboot
  • 为什么要使用springboot+jersey
  • 如何整合springboot与jersey

什么是jersey

阅读官方文档请点击:jsersey。RESTful Web Services in Java即java中的一种restful框架。jersey使用了JAX-RS规范来约束API的开发。既然jersey是基于restful风格的框架,那么什么是restful呢,主要有以下几点:

  • 在rest认为,一切都可以被称为资源。
  • 每个资源都由uri标识。要访问这个资源,必须通过对应的uri去访问。
  • 访问资源使用POST,GET,PUT,DELETE。POST为新增接口,GET为获取接口,PUT为修改接口,DELETE为删除接口。
  • 通过XML/JSON去通信
  • 每次请求都是独立的。

什么是springboot

简单介绍一下,Springboot是由spring衍生的一个框架,boot是轻量的意思,即轻量级的spring。Springboot继承了spring的特性,但是呢,觉得spring太繁琐,于是springboot就简化了spring的配置,不需要写复杂的配置文件就可以实现spring原有的功能特点。只需要在pom.xml中引入依赖就能实现各种模块和技术的整合。

为什么要使用springboot+jersey

如果要实现rest,jersey是一个很不错的选择。springboot是java中一个轻量级的框架,能简化配置,不复杂且功能齐全,因此结合起来使用,也是一个不错的选择。

如何整合springboot与jersey

1.创建maven项目
2.添加springboot配置。

(1)在pom.xml中添加springboot父依赖

  
  
    org.springframework.boot
    spring-boot-starter-parent
    1.5.1.RELEASE
  

(2)在pom.xml中添加springbootweb依赖和junit单元测试依赖(如不使用单元测试,可不加),引入依赖后在控制台执行命令 mvn clean install

  
    
    
      org.springframework.boot
      spring-boot-starter-web
    

    
    
      junit
      junit
      4.12
    
  

(3)创建Springboot入口:Application.java,此时一个springboot的maven项目已经创建成功,执行main函数就可以启动项目。(是不是确实很轻量级..?)

package com.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Created by Angela on 2017/4/20.
 */
@SpringBootApplication
public class Application {
  public static void main(String[] args){
    //springboot 入口
    SpringApplication.run(Application.class,args);
  }
}

(4)添加jersey依赖,在pom.xml中添加依赖,在控制台执行命令mvn install


  org.springframework.boot
  spring-boot-starter-jersey

(5)创建jersey配置文件

package com.demo.config.jersey;


import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.stereotype.Component;

/**
 * Created by Angela on 2017/4/20.
 */
@Component
public class JerseyConfig extends ResourceConfig {

  public JerseyConfig() {
    //构造函数,在这里注册需要使用的内容,(过滤器,拦截器,API等)
  }
}

此时,基于jersey的springboot项目已经搭建成功。我们写demo来验证一下。

(6)基于jersey的api使用

配置文件:

创建项目的配置文件application.yml,指定name为local,端口号为8081,如下:

spring:
name: local
server:
  port: 8081

资源,即API,这里以get方法为例:

package com.demo.web;

import com.demo.model.City;
import org.springframework.stereotype.Component;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

/**
 * Created by Angela on 2017/4/20.
 */
@Component
@Path("/demo")
public class Demo {

  //path注解指定路径,get注解指定访问方式,produces注解指定了返回值类型,这里返回JSON
  @Path("/city")
  @GET
  @Produces(MediaType.APPLICATION_JSON)
  public City get(){
    City city = new City();
    city.setId(1L);
    city.setCityName("beijing");
    city.setCityCode("001");
    System.out.println(city.toString());
    return city;
  }



}

jersey配置(有两种注册方式,注册类,注册包):

package com.demo.config.jersey;


import com.demo.web.Demo;
import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.stereotype.Component;

/**
 * Created by Angela on 2017/4/20.
 */
@Component
public class JerseyConfig extends ResourceConfig {

  public JerseyConfig() {
     //注册类的方式
//    register(Demo.class);

    //注册包的方式
    packages("com.demo.web");
  }
}

这里有个小坑。项目打为jar包启动时,不能使用包注册的方式,否则会报FileNotFound异常。

此时,demo已经完成,我们可以通过浏览器或其他工具访问接口,访问路径:http://localhost:8081/demo/city,返回JSON字符串:{“id”:1,”cityName”:”beijing”,”cityCode”:”001”}。

项目代码地址:https://github.com/fengqing0216/learning.git

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
author-avatar
喝喝88地盘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有