jersey-spring,jersey集成spring

jersey集成spring相对来说比较简单,需要注意的几点是:

1、引入maven依赖jersey-spring,其中包含了spring的相关依赖,如果和项目中所使用的spring版本相冲突,可以通过exclusions清除掉。

2、确保jersey资源类所在的包路径,能被spring扫描到,即spring配置中的<context:component-scan base-package="" />。

3、确保jersey资源类打上注解@Component,这样可以注入spring容器的对象实例。

4、在web.xml中配置com.sun.jersey.spi.spring.container.servlet.SpringServlet。

5、如何测试,请看JerseyTest

项目源码参考

jersey-spring的maven依赖,去除了spring相关依赖。具体配置,可进入上面的"项目源码参考"。

<!-- jersey-spring: 包含了jersey-servlet/jersey-server/jersey-core等,同时还包含了spring相关依赖。 -->
<dependency>
    <groupId>com.sun.jersey.contribs</groupId>
    <artifactId>jersey-spring</artifactId>
    <version>1.19</version>
    <exclusions>
        <exclusion>
            <artifactId>spring-core</artifactId>
            <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
            <artifactId>spring-beans</artifactId>
            <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
            <artifactId>spring-context</artifactId>
            <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
            <artifactId>spring-web</artifactId>
            <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
            <artifactId>spring-aop</artifactId>
            <groupId>org.springframework</groupId>
        </exclusion>
    </exclusions>
</dependency>

web.xml

<servlet>
    <servlet-name>jerseySpring</servlet-name>
    <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
    <load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>jerseySpring</servlet-name>
    <url-pattern>/jersey/*</url-pattern>
</servlet-mapping>


你可能感兴趣的:(jersey-spring,jersey集成spring)