springboot 之 JAX-RS 和 Jersey

Posted MrQin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 之 JAX-RS 和 Jersey相关的知识,希望对你有一定的参考价值。

springbott支持Jersey,要是用Jersey2.x只需要依赖spring-boot-starter-jersey。

然后需要配置ResourceConfig

@Component
public class JerseyConfig extends ResourceConfig {

    public JerseyConfig() {
        register(Endpoint.class);
    }

}

EndPoint类要有@Components和HTTP 资源注解(@Get等)

@Component
@Path("/hello")
public class Endpoint {

    @GET
    public String message() {
        return "Hello";
    }

}

因为EndPoint作为Spring的一个组件(Component)并由Spring管理,所以你可以通过@Autowired对它属性进行注入和通过@Value注入配置值。

Jersey Servlet 默认会匹配/*,你可以通过添加@ApplicationPath到ResourceConfig的方式来限制。

默认的Jersey会以一个 Servlet的形式在类ServletRegistrationBean 对应Bean内被建立,该bean被命名为jerseyServletRegistration。默认情况下,该Servlet会被懒加载,你可以通过spring.jersey.servlet.load-on-startup属性来自定义。你可以通过建立一个属于自己的类的Bean并给他同上的命名来覆盖禁止上述bean。

你还可以通过设置属性spring.jersey.type=filter来使Jersey作为一个过滤器而不是Servlet,通过spring.jersey.filter.order来设置过滤器顺序(对应servlet的@Order)。

不管是过滤器还是Servlet,都可以通过spring.jersey.init.*来传递初始化参数。

点击链接查看Spring官方的 Jersey例子,可以大致了解如何创建一个Jersey项目。

以上是关于springboot 之 JAX-RS 和 Jersey的主要内容,如果未能解决你的问题,请参考以下文章

Spring-boot - 如何同时使用 Resteasy JAX-RS 和 Spring MVC 控制器

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

tomcat启动找不到jer报错

在springboot中整合jersey和springfox-swagger2

JAX-RS 和 JAX-WS 有啥区别?

快速理解JavaScript面向对象编程—原型继承