课程咨询 :0871-63112636      qq:2066486918

昆明Java培训 > 达内新闻 > Spring集成Apache CXF开发
  • Spring集成Apache CXF开发

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

  • 昆明达内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的集合的分类

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:01/20

Java--零基础业余班

Java--零基础业余班

开班日期:01/20

Java--周末提升班

Java--周末提升班

开班日期:01/20

Java--零基础周末班

Java--零基础周末班

开班日期:01/20

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:0871-63112636      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56