看到群里有人在问如何集成jersey,博主在别的项目也用过jersey,在这里就给大家简单介绍下spring boot中怎么使用jersey。本章大纲如下:
(1)新建工程spring-boot-jersey;
新建一个工程,取名为spring-boot-jersey。
(2)在pom.xml中添加相关依赖;
在pom.xml文件中添加相关的依赖,主要是jersey的依赖,具体如下:
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>com.kfitgroupId>
<artifactId>spring-boot-jerseyartifactId>
<version>0.0.1-SNAPSHOTversion>
<packaging>jarpackaging>
<name>spring-boot-jerseyname>
<url>http://maven.apache.orgurl>
<properties>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
<java.version>1.8java.version>
properties>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>1.4.0.RELEASEversion>
parent>
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<scope>testscope>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-jerseyartifactId>
dependency>
dependencies>
project>
(3)编写启动文件和注册ServletContainer;
编写一个App.java启动文件,在此代码中使用ServletRegistrationBean注册ServletContainer,具体代码如下:
package com.kfit;
import org.glassfish.jersey.servlet.ServletContainer;
import org.glassfish.jersey.servlet.ServletProperties;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import com.kfit.config.jersey.JerseyConfig;
/**
*
* @author Angel --守护天使
* @version v.0.1
* @date 2016年11月6日
*/
@SpringBootApplication
public class App {
@Bean
public ServletRegistrationBean jerseyServlet() {
ServletRegistrationBean registration = new ServletRegistrationBean(newServletContainer(), "/rest/*");
// our rest resources will be available in the path /rest/*
registration.addInitParameter(ServletProperties.JAXRS_APPLICATION_CLASS, JerseyConfig.class.getName());
return registration;
}
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
(4)编写Jersey config文件;
编写jersey的配置文件,主要是指定扫描的包packages("com.kfit.rest");具体代码如下:
package com.kfit.config.jersey;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.server.spring.scope.RequestContextFilter;
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
register(RequestContextFilter.class);
//配置restful package.
packages("com.kfit.rest");
}
}
(5)编写一个测试文件;
编写一个测试文件,这个有jersey基础的就很简单了,使用@Path进行指定访问路径,使用@GET标注是get请求,使用@Produces指定的返回的数据类型。具体代码如下:
package com.kfit.rest;
import java.util.HashMap;
import java.util.Map;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.springframework.stereotype.Component;
@Path("/")
@Component
public class RestResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/hello")
public Map
Map
map.put("code","1");
map.put("codeMsg", "success");
return map;
}
}
(6)运行测试;
剩下的就是运行App.java进行测试了,访问测试地址:
http://127.0.0.1:8080/rest/hello ,好了这就是最基本的一个例子,jersey还是有很多地方需要研究的,剩下的就靠你自己了。