我正在尝试创建使用平针织物和弹簧的宁静服务项目设置。我最初下载了jersey1.8依赖的罐子,我也得到了jersey-spring-1.8,我使用com.sun.jersey.spi.spring.container.servlet.SpringServlet作为jersey servlet,这个设置运行良好,没有任何问题。
现在我被要求使用jersey2.3.1的最新泽西版,所以我下载了jersey2.3.1依赖的罐子(如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.So任何人都可以告诉我相应的jersey-spring jar是什么,或者我错过了什么。
注意我试图使用与jersey-spring-1.8相关的jersey2.3.1相关的罐子,但现在我有例外说com.sun.jersey.spi.container.servlet.ServletContainer丢失了。所以有一些jar兼容的问题。
谁能告诉我如何进行jersey2.3.1和spring整合?
答案 0 :(得分:8)
com.sun.jersey.spi.spring.container.servlet.SpringServlet 现已成为 org.glassfish.jersey.servlet.ServletContainer
有关Jersey2和Spring 3集成的完整说明,请参阅此文http://www.codingpedia.org/ama/restful-web-services-example-in-java-with-jersey-spring-and-mybatis/。
答案 1 :(得分:3)
在jersey 2.x和spring集成中,我们无法定义spring bean中的资源和提供程序,就像我们在jersey 1.x和spring集成中所做的那样。 看下面的链接。
https://java.net/jira/browse/JERSEY-1957 https://jersey.java.net/documentation/latest/spring.html
所以在球衣2.x中没有com.sun.jersey.spi.spring.container.servlet.SpringServlet
答案 2 :(得分:1)
使用Jersey 2.x,org.glassfish.jersey.servlet.ServletContainer
将是要使用的servlet类。
除了javax.ws.rs.Application
作为servlet的init-param
选项之外,还可以将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>
在Spring applicationContext.xml
中包含:
<!-- scans packages to find and register beans within the application context --> <context:component-scan base-package="com.jersey.series.spring.integration" />
希望这会有所帮助。