`
ibadboy
  • 浏览: 84074 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

CXF+SPRING+REST 10分钟教程

阅读更多

CXF跟spring联合起来,搞rest webservice的确很方便的.下面快速学习下,用到的是CXF,SPRING和MAVEN 

1 MAVEN配置 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-context</artifactId> 
    <version>3.0.1.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-web</artifactId> 
    <version>3.0.1.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-frontend-jaxrs</artifactId> 
    <version>2.2.3</version> 
</dependency> 
2 COMPILER也改下 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.1</version> 
    <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
    </configuration> 
</plugin> 
... 

3 timeservice 
  import org.springframework.format.datetime.DateFormatter; 
import org.springframework.stereotype.Service; 

import java.util.Calendar; 
import java.util.Locale; 

@Service("timeService") 
public class TimeService { 
    public String getDateTime() 
    { 
        DateFormatter formatter = new DateFormatter("dd/MM/yyyy hh:mm:ss"); 
        return formatter.print(Calendar.getInstance().getTime(), Locale.getDefault()); 
    } 


4 CXF使用JAX-RS 去实现REST 
  @Service("timeService") 
@Path("/time") 
public class TimeService { 
    @GET 
    @Produces("text/plain") 
    public String getDateTime() 
    { 
       ... 
    } 


5 配置WEB.XML 
  <?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE web-app PUBLIC 
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
        "http://java.sun.com/dtd/web-app_2_3.dtd"> 
<web-app> 
    <context-param> 
        <param-name>contextConfigLocation</param-name> 
        <param-value>WEB-INF/beans.xml</param-value> 
    </context-param> 
    <listener> 
        <listener-class> 
            org.springframework.web.context.ContextLoaderListener 
        </listener-class> 
    </listener> 
    <servlet> 
        <servlet-name>CXFServlet</servlet-name> 
        <display-name>CXF Servlet</display-name> 
        <servlet-class> 
            org.apache.cxf.transport.servlet.CXFServlet 
        </servlet-class> 
        <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name>CXFServlet</servlet-name> 
        <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 
</web-app> 


6 配置CXF配置文件 
   <?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xmlns:jaxrs="http://cxf.apache.org/jaxrs" 
       xmlns:context="http://www.springframework.org/schema/context" 
       xsi:schemaLocation=" 
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
       http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd 
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> 

    <import resource="classpath:META-INF/cxf/cxf.xml"/> 
    <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/> 
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> 

    <context:component-scan base-package="be.insaneprogramming.cxf"/> 

    <jaxrs:server id="restContainer" address="/"> 
        <jaxrs:serviceBeans> 
            <ref bean="timeService"/> 
        </jaxrs:serviceBeans> 
    </jaxrs:server> 
</beans> 

分享到:
评论
3 楼 wangyudong 2017-11-27  
由CXF实现的微服务需要有比较好的工具去测试RESTful API,很多REST Client是不支持自动化测试RESTful API,也不支持自动生成API文档.
之前习惯用一款名字为 WisdomTool REST Client,支持自动化测试RESTful API,输出精美的测试报告,并且自动生成精美的RESTful API文档。
轻量级的工具,功能却很精悍哦!

https://github.com/wisdomtool/rest-client

Most of REST Client tools do not support automated testing.

Once used a tool called WisdomTool REST Client supports automated testing, output exquisite report, and automatically generating RESTful API document.

Lightweight tool with very powerful features!

https://github.com/wisdomtool/rest-client
2 楼 ibadboy 2012-05-29  
zjc198805 写道
lz,如果遇到注册的时候又要上传图片又要上传注册的信息该怎么搞?求指教!644952013@qq.com !求客户端与服务器端,客户端只要写一个main方法就好!


这个要看你的需求,你可以这样做:
1、利用ajax上传控件(带flash的,开源的很多)把图片从本地读出来预览,等注册信息都填写好后一起提交到后台.
2、先用ajax上传图片资源,并且返回生成的图片名称到前台,填写注册信息后再提交到后台,如果注册失败你也可以删除刚才上传的图片。


总之,方法很多,多思考,希望能帮到你。
1 楼 zjc198805 2012-04-27  
lz,如果遇到注册的时候又要上传图片又要上传注册的信息该怎么搞?求指教!644952013@qq.com !求客户端与服务器端,客户端只要写一个main方法就好!

相关推荐

    Apache CXF + Spring3 + REST + JSON配置

    在"Apache CXF + Spring3 + REST + JSON配置"中,我们主要探讨如何利用Apache CXF和Spring 3框架来构建RESTful服务,并使用JSON作为数据交换格式。以下是一些关键知识点: 1. **Spring 3集成CXF**: - 首先,你...

    接受json格式的CXF+Spring整合的REST的服务完整接口实例

    发布CXF+Spring整合的REST的服务接口完整实例,其中包括数据库连接池,json数据格式传递数据,HttpURLConne的get和post方式调用接口,以及获取访问者ip地址工具类等众多的技术实例。

    cxf+spring+client

    在这个"**cxf+spring+client**"的主题中,我们将深入探讨CXF与Spring框架结合创建客户端服务的细节,以及如何利用Spring MVC来增强应用程序的交互性。 首先,让我们关注CXF。CXF允许开发者使用Java编程语言来定义和...

    cxf+spring发布webservice和restservice

    本项目“cxf+spring发布webservice和restservice”专注于利用Apache CXF框架与Spring框架结合,实现这两种服务的发布。Apache CXF是一个开源的、功能丰富的服务栈,它使得开发者能够轻松地构建和部署SOAP和RESTful ...

    cxf+Spring2.5

    【标题】"cxf+Spring2.5" 指的是使用Apache CXF框架与Spring 2.5版本进行集成的示例项目。Apache CXF是一个开源服务框架,它允许开发人员创建和消费Web服务,而Spring框架则是一个广泛使用的Java企业级应用的IOC...

    cxf+spring webservice server demo

    【标题】"cxf+spring webservice server demo"是一个基于Apache CXF和Spring框架构建的Web服务服务器端示例项目。这个项目展示了如何将CXF与Spring集成,以创建、部署和运行一个高效的Web服务。 【描述】指出,由于...

    cxf+spring 无包

    【标题】"CXF+Spring 无包"指的是在不依赖特定打包工具(如Maven或Gradle)的情况下,利用Apache CXF和Spring框架构建Web服务的实例。Apache CXF是一个开源服务框架,它允许开发者创建和消费各种Web服务,包括SOAP和...

    cxf+spring+axis包

    【标题】"cxf+spring+axis包"指的是在Java开发环境中使用Apache CXF、Spring框架和Axis工具进行Web服务集成的一种技术组合。这个压缩包包含的版本是cxf-2.4.1、axis-1.4以及适用于Spring 3.0的库。 【描述】"cxf-...

    webservice+cxf+spring

    【标题】:“WebService+CXF+Spring”是一个关于在Java环境中使用Apache CXF框架与Spring框架集成实现Web服务的专题。Apache CXF是一个开源的Web服务框架,它允许开发人员创建和部署SOAP和RESTful Web服务。Spring...

    cxf+spring=webservice CXF 应用开发

    10. **持续集成和DevOps**:Spring和CXF的组合使得应用能够很好地适应持续集成和DevOps流程,例如与Maven或Gradle构建工具集成,配合Docker进行容器化部署,以及利用Jenkins、Git等工具进行自动化测试和版本控制。...

    基于CXF的Webservice,CXF+Spring

    CXF集成了Spring框架,使得开发、配置和管理Web服务变得更加简便。下面将详细阐述基于CXF的Web Service以及与Spring的整合。 **一、CXF Web Service** Apache CXF是一个强大的Web服务框架,它支持SOAP、RESTful等...

    csh框架+cxf+spring+hibernate+mysql 注解 annotation xml json

    【压缩包子文件的文件名称列表】:csh-restserver,这个文件名暗示了这是一个关于RESTful服务的实现,可能包含了使用CXF和Spring构建的REST接口的代码。RESTful服务是Web服务的一种,以HTTP协议为基础,通过GET、...

    CXF+SPRING.doc

    ### Apache CXF与Spring框架整合的关键知识点 #### 一、Apache CXF简介 Apache CXF是一个开源项目,它提供了一套强大的工具集用于构建和访问Web服务。CXF支持多种协议,包括SOAP、XML-RPC、REST等,并且能够与JAX-...

    CXF2+Spring2.5开发WebService实例

    在本文中,我们将深入探讨如何使用Apache CXF 2与Spring 2.5框架来开发Web服务实例。Apache CXF是一个流行的开源项目,它提供了一种简单且强大的方式来实现和消费SOAP和RESTful Web服务。Spring框架则以其模块化、...

    spring + cxf + mybatis整合

    5. **Spring MVC集成**:虽然CXF主要用于SOAP和REST服务,但如果你还需要构建传统的HTTP MVC应用,可以结合Spring MVC。定义控制器,使用`@RequestMapping`注解映射HTTP请求,并通过`@Autowired`注入业务服务层,...

    WebService(CXF+Spring+Mybatis)【RESTful + soap】

    配置好数据库,放到tomcat访问 http://localhost:8080/Service ...wsal:http://localhost:8080/Service/rest?_wadl 访问rest实例:http://localhost:8080/Service/rest/user/test/1 浏览器输出 hello 1

    spring + cxf + restful + soap 集成小项目

    spring + cxf + restful + soap 方便初学者很快上手。 注解描述 @Path注解的值是一个相对的URI路径,这个路径指定了该Java类的位置,例如/helloworld。在这个URI中可以包含变量,例如可以获取用户的姓名然后作为参数...

    CXF整合spring实现REST接口开发

    当CXF与Spring结合时,可以创建高效且灵活的REST接口,便于开发分布式系统。本篇将详细介绍如何利用CXF和Spring进行REST接口的开发。 首先,我们需要在项目中引入CXF和Spring的相关依赖。在Maven工程中,可以在pom....

    spring cxf rest demo

    【Spring CXF REST Demo】项目是一个使用Maven构建的Java应用程序,它展示了如何将Spring框架与Apache CXF集成,以创建RESTful风格的服务。在这个项目中,开发者可以学习到如何利用CXF作为服务端的REST服务提供者,...

    CXF整合spring的客户端和服务端

    【CXF整合Spring详解】 CXF(CXF stands for "CXF is not just an XFire fork", but was originally named XFire)是一个开源的Java框架,它提供了服务导向架构(SOA)和Web服务的实现。CXF使得开发人员能够轻松地...

Global site tag (gtag.js) - Google Analytics