一起使用Spring和Jersey

时间:2013-12-03 12:37:56

标签: java spring rest jersey

我想创建一个可以部署的小型独立RESTful API Web应用程序。我想使用Spring作为依赖注入,使用Jersey作为RESTful的东西。

这是可以做到的吗?或者我应该使用Spring使用的任何RESTful功能吗?

如果将Spring和Jersey结合使用是有意义的,我该如何组合它们?我的web.xml需要包含哪些内容?

3 个答案:

答案 0 :(得分:0)

整合很容易。 你可以在网上找到很多教程。 参见示例here

答案 1 :(得分:0)

我刚刚使用相同的技术,这是我在我的应用程序中使用的东西。

pom.xml中的Spring + Jersey需要此依赖关系

 <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-core</artifactId>
     <version>3.1.1.RELEASE</version>
 </dependency>
 <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-beans</artifactId>
     <version>3.1.1.RELEASE</version>
 </dependency>
 <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-hibernate3</artifactId>
     <version>2.0.8</version>
 </dependency>
 <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-context</artifactId>
     <version>3.1.1.RELEASE</version>
 </dependency>

 <dependency>
     <groupId>com.sun.jersey</groupId>
     <artifactId>jersey-json</artifactId>
     <version>1.12</version>         
 </dependency>
 <dependency>
     <groupId>com.sun.jersey</groupId>
     <artifactId>jersey-core</artifactId>
     <version>1.12</version>         
 </dependency>
 <dependency>
     <groupId>com.sun.jersey</groupId>
     <artifactId>jersey-server</artifactId>
     <version>1.12</version>

 </dependency>
 <dependency>
     <groupId>com.sun.jersey</groupId>
     <artifactId>jersey-client</artifactId>
     <version>1.12</version>

 </dependency>
 <dependency>
     <groupId>com.sun.jersey.contribs</groupId>
     <artifactId>jersey-spring</artifactId>
     <version>1.12</version>
 </dependency>
 <dependency>
     <groupId>javax.ws.rs</groupId>
     <artifactId>jsr311-api</artifactId>
     <version>1.1.1</version>
 </dependency>

答案 2 :(得分:0)

你的web.xml应该包含jersey spring servlet

<servlet>
        <servlet-name>Jersey REST Service</servlet-name>
        <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
        <init-param>
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>com.vxl.appanalytix.service.impl</param-value>
        </init-param>
       <init-param>
            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Jersey REST Service</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>

查看这些示例以获取更多详细信息 rest with jersey struts2 spring3 not working jersey rest services showing exception javax.ws.rs.WebApplicationException: javax.xml.bind.MarshalException