【问题标题】:Using Spring and Jersey together一起使用 Spring 和 Jersey
【发布时间】:2013-12-03 12:37:56
【问题描述】:

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

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

如果同时使用 Spring 和 Jersey 是有意义的,我该如何组合它们?我的 web.xml 需要包含什么内容?

【问题讨论】:

  • 我可以在 Google 上找到很多示例。尝试搜索它。

标签: java spring rest jersey


【解决方案1】:

集成非常容易。 你可以在网上找到很多教程。 见例子here

【讨论】:

    【解决方案2】:

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

    在你的 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>
    

    【讨论】:

      【解决方案3】:

      你的 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 workingjersey rest services showing exception javax.ws.rs.WebApplicationException: javax.xml.bind.MarshalException

      【讨论】:

        猜你喜欢
        • 2021-10-17
        • 1970-01-01
        • 2021-01-02
        • 1970-01-01
        • 2016-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多