解决Jersey中使用@Resource注解无法获取bean
来源:互联网 发布:电商视觉人工智能 编辑:程序博客网 时间:2024/06/05 18:15
使用Jersey1.19 + Spring 3 构建REST Web Service时,遇到的bean无法注入的问题。
在之前的文章http://blog.csdn.net/zijia889149650/article/details/48758563中,我说过没有找到Jersey 和 spring的整合方法,在今天的例子中,我是在SSH的架构的基础上整合进的Jersey,所以就避免不了要在service中注入spring管理的bean,以下就是解决的方法:
一、引入jersey-spring-1.9包
需要引入对应版本的jersey-spring 包,具体可以自行到官方网站https://jersey.java.net/ 处下载。
下载完成后复制到WEB-INF/lib 文件夹中即可。
二、修改web.xml
首先需要更改web.xml中的配置,具体请看下面的代码:
<!-- Jersey框架相关内容 --> <!-- 不使用spring + Jersey 框架整合 --><!-- <servlet> <servlet-name>RESTfulService</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>RESTfulService</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>RESTfulService</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> --><!-- 使用spring + Jersey 框架整合 --> <servlet> <servlet-name>jersey-spring</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>RESTfulService</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>jersey-spring</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping>
三、Java代码
实现bean注入的代码如下:
package RESTfulService;import java.util.ArrayList;import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.Produces;import javax.ws.rs.core.MediaType;import com.sun.jersey.api.spring.Autowire;import basic.ServiceTO.BasicResult;import custom.DAO.IDAO.ICustomDAO;import custom.PO.Custom;import custom.ServiceTO.CustomResult;//使用jersey-spring 包中的@Autowire注解,此注解并非spring中的,要求注解的属性有setter方法。@Autowire@Path("/CustomService")public class CustomService {//不需要使用@Resource注解。private ICustomDAO customDAOImpl;@GET@Path("/XML")@Produces(MediaType.APPLICATION_XML)public BasicResult getXML(){//返回XML类型的数据CustomResult result = new CustomResult();ArrayList<Custom> list = customDAOImpl.login("zzj001", "123456");list.get(0).getCustomLevel().setCustoms(null);result.setRecords(list);result.setResultCode("101");return result;}public ICustomDAO getCustomDAOImpl() {return customDAOImpl;}public void setCustomDAOImpl(ICustomDAO customDAOImpl) {this.customDAOImpl = customDAOImpl;}}
1 0
- 解决Jersey中使用@Resource注解无法获取bean
- Spring中注解@Bean、@Resource、@Component、@SpringStudy
- 16、在bean中获取Resource
- Spring项目中无法引入@Resource注解
- Spring项目中无法引入@Resource注解
- 7.使用@Resource注解注入依赖的bean。
- 单元测试使用spring注解获取bean
- CXF中使用Autowired注解无法注入bean的有关问题
- @Resource注解的使用
- Spring中静态方法中使用@Resource注解的变量
- jersey中获取请求ip
- Resource注解无法导入依赖使用javax.annotation的注解类
- Jersey 注解
- Jersey注解
- Jersey 注解
- jersey 注解
- 在Action中使用@Resource注解注入失败
- 解决spring-boot 中 bean无法注入的问题
- 【9.29】打卡
- ZIGBEE协调器的一个BUG
- 8086汇编指令手册
- 第一阶段测试基础知识总结(2)
- VS2015常用快捷键
- 解决Jersey中使用@Resource注解无法获取bean
- JAVA堆栈操作
- Java究竟是通过值传递还是引用传递呢?
- Unity 3d 基本概念
- 我所了解的cgi
- Oracle BIEE (Business Intelligence) 11g 11.1.1.6.0 学习 _ 创建多维钻取分析
- JAVA中IP和整数相互转化
- Embedded数据库比较:Access、SQLite、HSQLDB、Sybase、MySQL、DB4O
- R-3.1.1 编译安装