你是对的!问题似乎在于Jersey完全不了解Spring并实例化了自己的对象。为了使Jersey知道Spring对象的创建(通过依赖注入),我必须集成Spring + Jersey。
集成:
- 添加Maven依赖项
<dependency> <groupId>com.sun.jersey.contribs</groupId> <artifactId>jersey-spring</artifactId> <version>1.17.1</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </exclusion> </exclusions></dependency>
- 将SpringServlet用于jersey-servlet web.xml
<servlet> <servlet-name>jersey-servlet</servlet-name> <servlet-class> com.sun.jersey.spi.spring.container.servlet.SpringServlet </servlet-class> <load-on-startup>1</load-on-startup></servlet>
现在,@ Autowired可以正常工作,并且该对象不再为null。
我对使用jersey-spring依赖项时必须在maven中使用的排除感到有些困惑,但这是另一个问题:)



