7

我正在尝试创建将使用球衣和弹簧的宁静服务项目设置。我最初下载了 jersey1.8 依赖 jars,我也得到了 jersey-spring-1.8,我使用 com.sun.jersey.spi.spring.container.servlet.SpringServlet 作为 jersey servlet,这个设置运行良好,没有任何问题。

现在我被要求使用最新的球衣版本,即 jersey2.3.​​1,所以我下载了 jersey2.3.​​1 依赖的 jar,例如(jersey-container-servlet-core-2.3.1、jersey-container-servlet-2.3.1 等)。现在问题出在 jersey-spring 上,它将具有 com.sun.jersey.spi.spring.container.servlet.SpringServlet,我从 maven 存储库下载了 jar,即 jersey-spring3-2.3.1.jar 但它不包含上述内容SpringServlet.所以任何人都可以告诉我相应的球衣弹簧罐是什么,或者我在这里遗漏了什么。

请注意,我尝试将 jersey2.3.​​1 相关的 jar 与 jersey-spring-1.8 一起使用,但现在我收到异常说 com.sun.jersey.spi.container.servlet.ServletContainer 丢失。所以有一些jar兼容问题。

谁能告诉我如何进行 jersey2.3.​​1 和 spring 集成?

4

3 回答 3

10

com.sun.jersey.spi.spring.container.servlet.SpringServlet现在变成了org.glassfish.jersey.servlet.ServletContainer

有关 Jersey2 和 Spring 3 集成的完整说明,请参阅这篇文章https://www.codepedia.org/ama/restful-web-services-example-in-java-with-jersey-spring-and-mybatis/

于 2014-01-13T12:26:54.130 回答
3

在 jersey 2.x 和 spring 集成中,我们不能像在 jersey 1.x 和 spring 集成中那样在 spring bean 中定义资源和提供者。看看下面的链接。

https://java.net/jira/browse/JERSEY-1957 https://jersey.java.net/documentation/latest/spring.html

所以 jersey 2.x 中没有 com.sun.jersey.spi.spring.container.servlet.SpringServlet

于 2013-10-07T09:35:16.613 回答
3

对于 Jersey 2.x,org.glassfish.jersey.servlet.ServletContainer将使用 servlet 类。

除了javax.ws.rs.Application作为init-paramservlet 的一个选项之外,还可以jersey.config.server.provider.packages将其作为参数。

下面是一个代码片段,它会是怎样的web.xml

<!-- Jersey Servlet -->
<servlet>
    <servlet-name>jersey-servlet</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <!-- Register resources and providers -->
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.jersey.series.spring.integration.service</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

在春季applicationContext.xml包括:

<!-- scans packages to find and register beans within the application context -->
<context:component-scan base-package="com.jersey.series.spring.integration" />

希望这可以帮助。

于 2017-06-24T06:19:17.947 回答