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

什么是jersey
阅读官方文档请点击:jsersey。RESTful Web Services in Java即java中的一种restful框架。jersey使用了JAX-RS规范来约束API的开发。既然jersey是基于restful风格的框架,那么什么是restful呢,主要有以下几点:
什么是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父依赖
<!-- Spring Boot 父依赖 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
</parent>
(2)在pom.xml中添加springbootweb依赖和junit单元测试依赖(如不使用单元测试,可不加),引入依赖后在控制台执行命令 mvn clean install
<dependencies>
<!-- Spring Boot web依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
(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
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId> </dependency>
(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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# SpringBoot整合jersey
# jersey
# SpringBoot
# 整合
# SpringBoot打War包上传到阿里云的LINUX服务器的操作方法
# springboot以FTP方式上传文件到远程服务器
# SpringBoot上传文件到本服务器 目录与jar包同级问题
# SpringBoot 如何优雅的实现跨服务器上传文件的示例
# springboot+jersey+tomcat实现跨域方式上传文件到服务器的方式
# 配置文件
# 会报
# 要使
# 就可以
# 都是
# 是一个
# 单元测试
# 在这里
# 有个
# 就能
# 请点击
# 是由
# 一切都
# 只需
# 要在
# 我们可以
# 很不错
# 或其他
# 几点
# 被称为
相关文章:
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
微信小程序 input输入框控件详解及实例(多种示例)
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
表情包在线制作网站免费,表情包怎么弄?
如何快速打造个性化非模板自助建站?
C++如何使用std::optional?(处理可选值)
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
简单实现Android文件上传
如何选择适配移动端的WAP自助建站平台?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
,怎么在广州志愿者网站注册?
建站主机选哪种环境更利于SEO优化?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
制作网站公司那家好,网络公司是做什么的?
jQuery 常见小例汇总
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
如何通过商城自助建站源码实现零基础高效建站?
如何访问已购建站主机并解决登录问题?
建站10G流量真的够用吗?如何应对访问高峰?
,想在网上投简历,哪几个网站比较好?
如何快速使用云服务器搭建个人网站?
定制建站流程步骤详解:一站式方案设计与开发指南
nginx修改上传文件大小限制的方法
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
如何正确下载安装西数主机建站助手?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
网站制作难吗安全吗,做一个网站需要多久时间?
建站之星2.7模板:企业网站建设与h5定制设计专题
建站之星如何助力企业快速打造五合一网站?
如何在宝塔面板创建新站点?
如何用AWS免费套餐快速搭建高效网站?
如何用已有域名快速搭建网站?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
如何使用Golang安装API文档生成工具_快速生成接口文档
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
如何在宝塔面板中修改默认建站目录?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
如何选择高性价比服务器搭建个人网站?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
如何高效搭建专业期货交易平台网站?
如何选购建站域名与空间?自助平台全解析
*请认真填写需求信息,我们会在24小时内与您取得联系。