Jersey 整合 Spring Boot 博客分类: Java
程序员文章站
2024-03-19 10:33:40
...
jersey 简介
JAX-RS是JAVA EE6 引入的一个新技术。 JAX-RS即Java API for RESTful Web Services,是一个Java 编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。JAX-RS使用了Java SE5引入的Java注解来简化Web服务的客户端和服务端的开发和部署。
RESTful Web 服务简介
REST 在 2000 年由 Roy Fielding 在博士论文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之一。
REST 中最重要的概念是资源(resources),使用全球 ID(通常使用 URI)标识。客户端应用程序使用 HTTP 方法(GET/ POST/ PUT/ DELETE)操作资源或资源集。RESTful Web 服务是使用 HTTP 和 REST 原理实现的 Web 服务。通常,RESTful Web 服务应该定义以下方面:
- Web 服务的基/根 URI,比如 http://host/<appcontext>/resources。
- 支持 MIME 类型的响应数据,包括 JSON/XML/ATOM 等等。
- 服务支持的操作集合(例如 POST、GET、PUT 或 DELETE)
下面开始整合
1、创建一个maven工程
创建过程自行百度
2、pom.xml配置:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.2.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId> </dependency> </dependencies>
3、创建JerseyConfig类:
import org.glassfish.jersey.server.ResourceConfig; import org.springframework.web.filter.RequestContextFilter; public class JerseyConfig extends ResourceConfig { public JerseyConfig() { register(RequestContextFilter.class); //配置restful package. packages("com.services"); } }
4、创建RestResource类:
该类可通过rest请求访问
package com.services; 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<String, Object> hello() { Map<String, Object> map = new HashMap<String, Object>(); map.put("code", "1"); map.put("codeMsg", "success"); return map; } }
5、创建app启动类
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; @SpringBootApplication public class App { @Bean public ServletRegistrationBean jerseyServlet() { ServletRegistrationBean registration = new ServletRegistrationBean(new ServletContainer(), "/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); } }
6、右击app运行访问
http://127.0.0.1:8080/rest/hello
推荐阅读
-
Jersey 整合 Spring Boot 博客分类: Java
-
Spring 跨域请求实例 博客分类: Java
-
Spring boot 打造统一配置思路 博客分类: Java
-
spring boot 枚举转换 博客分类: Java
-
spring boot 枚举转换 博客分类: Java
-
启动原理解析 博客分类: Spring Boot
-
学习篇-springboot-SpringFactoriesLoader 博客分类: Spring Boot
-
Spring boot传统部署 博客分类: Java spring boottomcatdeploy
-
Spring读取properties属性文件配置项遇到的问题 博客分类: Java-Spring spring
-
多语言版基础管理系统展示[es6版]-简单整合spring+lucene+hadoop 博客分类: hadooplucene lucenehadoop