`
hpgary
  • 浏览: 82137 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Jersey 整合 Spring Boot

    博客分类:
  • Java
 
阅读更多

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支持

    4. **整合 Spring 依赖注入**:为了利用 Spring 的依赖注入功能,你需要在 Jersey 资源类上添加 `@Component` 注解,使其成为 Spring 容器的一部分。然后,你可以在资源类中注入其他 Spring Bean,如服务层对象或...

    spring boot + mybatis + jersey + mysql源码

    【标题】:“Spring Boot + MyBatis + Jersey + MySQL 源码整合详解” 【正文】: 在现代软件开发中,快速构建可扩展且易于维护的Web应用是至关重要的。Spring Boot、MyBatis、Jersey和MySQL这四个组件的整合,...

    基于Java的微服务实践,单体微服务创建、Docker部署、Dubbo微服务实践等.zip

    基于Java的微服务实践,单体微服务创建、Docker部署、Dubbo微服务实践等.zip ...spring-boot-jersey Spring Boot集成Jersey spring-boot-swagger Spring Boot集成Swagger2 spring-cloud-demo Spring Cloud示例

    【Spring-Boot开篇】

    8. **Jersey集成**:虽然标题没有明确提到Jersey,但压缩包名为`springboot-jersey-master`,表明可能涉及到Spring Boot与RESTful服务框架Jersey的整合。Jersey是JAX-RS规范的实现,用于构建RESTful服务。 9. **MVC...

    spring 整合jersey最新的所有jar

    要整合Spring与Jersey,首先需要确保引入了正确的依赖。在"jersey_lib"压缩包中,可能包含了以下关键的Jersey库和Spring库: - jersey-server:Jersey的核心服务器模块,用于处理HTTP请求和响应。 - jersey-...

    SpringBoot第 6 讲:SpringBoot+jersey跨域文件上传

    在本教程中,我们将深入探讨如何使用Spring Boot与Jersey实现跨域文件上传。Spring Boot以其简化Spring应用程序开发的特性而受到广泛欢迎,而Jersey是JAX-RS规范的一个实现,用于构建RESTful Web服务。当我们谈论...

    使用SpringBoot整合jersey 实现Restful web service.同时整合springmvc。

    在本文中,我们将深入探讨如何使用SpringBoot框架与Jersey库整合来实现RESTful Web服务,并同时集成Spring MVC。...通过这个整合,开发者可以利用Spring Boot的便利性和Jersey的灵活性,打造高性能的API接口。

    springboot-restful-demo:Spring Boot 构建一个Restful架构风格的web项目,springboot 整合 jersey框架实现微服务架构

    springboot-restful-demoSpring Boot 构建一个Restful架构风格的web项目,springboot + mybatis 整合 jersey框架实现微服务架构运行环境JDK8, spring boot 2.0.3, apache-maven-3.0.4, mysql数据库, redis服务...

    camunda-spring-boot-embedded:Camunda 引擎 + cockpitadmin + REST API 打包 Spring boot

    与 Spring Boot (Jersey2 + Undertow) 集成的 Camunda(休息 + 驾驶舱/任务列表)的演示嵌入式应用程序。 如何? Spring Boot + Jersey 2 + Undertow: 正确配置gradle(包括boot,排除tomcat) 配置一个...

    基于jersey2.26_spring4+hibernate5+mysql的整合学习.zip

    【标题】"基于jersey2.26_spring4+hibernate5+mysql的整合学习.zip" 提供了一个综合性的学习资源,旨在教授如何将三个关键的技术框架——Jersey 2.26、Spring 4 和 Hibernate 5 整合在一起,并与 MySQL 数据库进行...

    spring-jersey-ws:使用 Jersey 和 Spring 堆叠 Restful Web 服务

    在设置Jersey和Spring的整合时,我们需要使用`SpringApplication`来启动Spring应用,并配置`ResourceConfig`以加载Spring的bean。 1. 添加依赖:在项目中,我们需要包含Spring和Jersey的相关库。通常,这包括Spring...

    SpringBoot与JAX-RS框架Jersey的完美搭配

    这就是Spring Boot与JAX-RS框架Jersey整合的基本流程。通过这种方式,我们可以轻松地在Spring Boot应用中构建和管理RESTful服务,同时利用Spring Boot的自动化配置和Jersey的强大功能。这种搭配不仅简化了项目结构,...

    springBootPrimefaces:演示使用 spring-boot 和 spring security primefaces with push notification and jersey

    在本文中,我们将深入探讨如何将Spring Boot、Spring Security、PrimeFaces以及Push Notification和Jersey集成,以构建一个高效、安全且功能丰富的Web应用程序。Spring Boot简化了Spring框架的配置和初始化过程,而...

    JAX-RS+spring

    4. **拦截器整合**: 结合Spring的AOP和JAX-RS的拦截器,实现跨切面的功能,如全局异常处理、统一的日志记录等。 5. **微服务架构**: 在微服务架构中,JAX-RS常被用于创建服务边界,而Spring则负责服务的内部治理,...

    Springboot-Jersey-Swagger

    如何配置Spring Boot Jersey和Swagger 问题陈述 如何集成Spring Boot,Jersey,Swagger来构建基于JSON的真实世界的RESTful Web服务 在开始之前 我们必须将Spring Boot Starter Web作为Swagger UI的依赖项才能正常...

    xfire+spring+hibernate的一种整合方式

    7. **注意事项**:尽管这种整合方式在当时是流行的,但随着技术的发展,现在更常见的是使用Spring Boot和Spring MVC来替代Spring的XML配置,使用JAX-WS或JAX-RS(如Jersey、CXF)来提供Web服务,而Hibernate则可能被...

    user-system.zip

    这是一个基于Java技术栈的Web应用项目,主要使用了Maven作为构建工具,Spring Boot作为核心框架,MyBatis作为持久层解决方案,Jersey用于提供RESTful API服务,并且集成了MySQL数据库。以下将对这些技术及其整合方式...

    基于springboot集成jersey的框架

    SpringBoot整合MyBatis需要添加`mybatis-spring-boot-starter`依赖,创建Mapper接口,编写对应的XML映射文件,然后在`@MapperScan`中指定Mapper接口的包名,使SpringBoot能够自动扫描并注入。 最后,Log4j2是Apache...

    Spring Cloud Consul服务提供方集成Jersy和Mybatis完成示例

    为了使Jersy与Spring无缝结合,我们可以使用Spring Jersey容器,这样Jersy可以自动发现和管理Spring的bean。 4. **服务提供方暴露API**: 在Jersy的Resource类中,定义HTTP方法(GET、POST等)和对应的路径。这些...

Global site tag (gtag.js) - Google Analytics