spring整合Jersey 无法注入service的问题
现象:
action中的@autowired注入service或dao失败,报空指针异常
原因:
造成该问题的原因是你并没有做好spring和jersey的整合工作,检查你的web.xml文件,jersey的配置肯定是下面这样,
- <servlet>
- <servlet-name>epg Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
- <init-param>
- <param-name>com.sun.jersey.config.property.packages</param-name>
- <param-value>com.tgb</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>epg Service</servlet-name>
- <url-pattern>/web/v30/*</url-pattern>
- </servlet-mapping>
解决的办法:
1) 需要确认是否引入了jersey-spring.jar的jar包,如果没有,请先导入。
2) 请将jersey的配置改成下面这样,
- <servlet>
- <servlet-name>epg 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.tgb</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>epg Service</servlet-name>
- <url-pattern>/web/v30/*</url-pattern>
- </servlet-mapping>
大家可能已经看到,区别在于servlet-class的类。
经过以上处理,困扰了我很久的问题终于搞定了!
天津雍博科技有限责任公司
欢迎大家访问www.yongbosoft.com ,崇尚技术,为您提供完美产品,优质服务!