SpringBoot整合jersey的示例代码

2025-05-29 0 19

这篇文章主要从以下几个方面来介绍。简单介绍下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父依赖

?

1

2

3

4

5

6
<!-- 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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14
<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函数就可以启动项目。(是不是确实很轻量级..?)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
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

?

1

2

3

4
<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-jersey</artifactId>

</dependency>

(5)创建jersey配置文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16
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,如下:

?

1

2

3

4
spring:

name: local

server:

port: 8081

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33
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配置(有两种注册方式,注册类,注册包):

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21
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

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

原文链接:http://blog.csdn.net/github_38395241/article/details/70265379

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 SpringBoot整合jersey的示例代码 https://www.kuaiidc.com/114579.html

相关文章

发表评论
暂无评论