码迷,mamicode.com
首页 > 编程语言 > 详细

CXF框架介绍及Spring集成

时间:2018-07-01 00:27:39      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:功能   协议   src   服务器   TE   ring   技术   xfire   编码   

1、CXF框架概念介绍

  Apache CXF 是一个开源的 WebService 框架,CXF可以用来构建和开发 WebService,这些服务可以支持多种协议,比如:SOAP、POST/HTTP、HTTP ,CXF 大大简化了WebService并且可以天然地和 Spring 进行无缝集成。CXF是 Celtrix (ESB框架)和 XFire(webserivice) 合并而成,核心是org.apache.cxf.Bus(总线),类似于Spring的 ApplicationContext,CXF默认是依赖于Spring的,另 CXF 发行包中的jar,如果全部放到lib中,需要 JDK1.6 及以上,否则会报JAX-WS版本不一致的问题。CXF 内置了Jetty服务器 ,它是servlet容器。

2、CXF框架特点

  A、与Spring、Servlet做了无缝对接,cxf框架里面集成了Servlet容器Jetty

       B、支持注解的方式来发布webservice

       C、能够显示一个webservice的服务列表

       D、能够添加拦截器:输入拦截器、输出拦截器 :输入日志信息拦截器、输出日志拦截器、用户权限认证的拦截器

3、使用CXF框架发布一个WebService

  步骤一、

  使用CXF框架发布WebService需导入CXF框架的相关Jar包,此处引用的cxf版本为3.1.8,可在官方下载该版本后导入lib目录中的所有jar包

  步骤二、

       发布一个带接口的开发语言排行榜的WebService,编写接口和实现类如下

  技术分享图片

  技术分享图片

  步骤三、

  JaxWsServerFactoryBean是ServerFactoryBean的子类,也是功能扩展类。该类可用来发布WebService,此类必须要在被发布为服务的类上添加@WebService注解,如果不加注解,虽然不出错,但也不会对外暴露任何方法。使用此类生成的wsdl文件更加规范,更重要的是可以通过添加拦截器拦截请求,具体实现代码以及代码解释如下:

   技术分享图片

4、使用CXF框架和Spring框架集成发布一个WebService

  前面的服务发布包括创建服务类都是硬编码的方式,额是否可以使用配置的方式来发布服务类呢,答案是肯定的。这就要同Spring集成了, 由于CXF的项目已经集成了Spring(自带了Spring lib)所以CXF的服务都是在Spring的配置文件中完成的。

  步骤一、

  部署Spring环境,导入CXF和Spring的相关Jar包,此处导入的为3.1.8的cxf和4.2.3的spring版本

  步骤二、

  编写一个操作员工信息的接口和业务实现类,接口中包含添加和查询员工的方法

  包结构和类编写代码如下图:

  技术分享图片

  技术分享图片

   技术分享图片

   技术分享图片  

  步骤三、

  配置web.xml文件,在web.xml中配置Spring的监听器,该监听器用来自动装配ApplicationContext的配置信息。还要配置CXF的Servlet信息,用来处理WebService的请求,具体配置信息如下,其中<url-pattern>/spring/*</url-pattern>为过滤路径,参见上文中的包结构,不同的包结构配置不同的过滤路径。

  技术分享图片  

  步骤四、

  配置ApplicationContext.xml文件,首先按如下截图添加必要的路径

  技术分享图片

  接着配置业务实现类,即用来提供方法的EnployeeManagerImpl类。然后配置CXF,我们需要配置的东西有三样,分别是业务类接口,业务实现类和输入输出拦截器,完成之后便完成了CXF和Spring集成的WebService配置。

  技术分享图片

  步骤五、

  启动工程,当看到类似如下截图时,证明CXF和Spring集成的服务发布成功,并公布了服务中的方法,即上文中添加和查询员工的方法。

   技术分享图片

 

CXF框架介绍及Spring集成

标签:功能   协议   src   服务器   TE   ring   技术   xfire   编码   

原文地址:https://www.cnblogs.com/jiyukai/p/9249103.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!