昆明java培训
达内昆明广州春城路

18487146383

热门课程

Spring集成Apache CXF开发

  • 时间:2016-11-29
  • 发布:昆明Java培训
  • 来源:达内新闻

昆明达内Java培训的老师今天给大家讲Spring集成Apache CXF开发JAX-RS Web Service。

什么是JAX-RS

在JSR-311规范中定义,即Java API for RESTful Web Services,一套Java API,用于开发RESTful风格的Webservice。

工程概况

主要功能:用户增删改查controller(not RESTful,懒得改了) +查询用户webservice(RESTful)

框架:spring+spring mvc+mybatis

数据库:mysql

构建工具:maven

创建工程

使用IDE创建一个maven工程,pom.xml文件如下,引入cxf、spring、mybatis等依赖,添加tomcat-maven插件:

View Code

关于spring+spring mvc+mybatis框架的相关配置就不细说了,这里主要关注与CXF相关的配置。

首先,是在web.xml添加一个servlet,拦截Web Service的请求:

<servlet>

<servlet-name>CXFServlet</servlet-name>

<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>CXFServlet</servlet-name>

<url-pattern>/ws/*</url-pattern>

</servlet-mapping>

然后,配置jaxrs:server:

<bean id="userWSService" class="cn.edu.hdu.wsdemo.wsservice.UserWSService"></bean>

<bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />

<jaxrs:server id="users" address="/apis">

<jaxrs:serviceBeans>

<ref bean="userWSService" />

</jaxrs:serviceBeans>

<jaxrs:providers>

<ref bean='jsonProvider' />

</jaxrs:providers>

</jaxrs:server>

最后,编写我们的webservice具体实现:

package cn.edu.hdu.wsdemo.wsservice;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import javax.ws.rs.Consumes;

import javax.ws.rs.GET;

import javax.ws.rs.POST;

import javax.ws.rs.Path;

import javax.ws.rs.PathParam;

import javax.ws.rs.Produces;

import javax.ws.rs.core.MediaType;

import org.springframework.beans.factory.annotation.Autowired;

import cn.edu.hdu.wsdemo.model.User;

import cn.edu.hdu.wsdemo.service.user.IUserService;

@Path("/userwsservice/")

@Consumes(MediaType.APPLICATION_JSON)

@Produces(MediaType.APPLICATION_JSON)

public class UserWSService

{

@Autowired

private IUserService userService;

@GET

@Path("/users/{id}/")

public User getUser(@PathParam("id") String id)

{

Map<String, Object> param = new HashMap<String, Object>();

param.put("id", id);

List<User> userList = userService.query(param);

return userList.size() > 0 ? userList.get(0) : null;

}

@POST

@Path("/users/getall")

public List<User> getAllUsers()

{

List<User> userList = userService.query(new HashMap<String, Object>());

return userList;

}

}

了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

上一篇:类的加载器
下一篇:Java的集合的分类

Effective java的创建和销毁对象

昆明达内Java培训学费多少?

LinkedIn服务:三人行,必有我师【达内java培训】

Java培训:7月排行榜Go创新高Java稳第一

选择城市和中心
贵州省

广西省

海南省

台湾