CXF框架介绍及Spring集成

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集成的服务发布成功,并公布了服务中的方法,即上文中添加和查询员工的方法。

  

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

时间: 2024-11-07 14:50:15

CXF框架介绍及Spring集成的相关文章

Stripes视图框架内置Spring集成的使用

Stripes视图框架内置Spring集成了的,在项目中也遇到需要导入spring支持的jar包,这足以证明Stripes与Spring有着非同寻常的关系. Spring注入Java Bean 我们需要将Spring beans或业务对象自动地注入到需要进行处理或引用的对象上.在Stripes框架中,实现这一点并不要求外部配置-除了你的Spring上下文配置之外.上下文配置如下: <context:component-scan  base-package="com.boonya.strip

MQ原理、使用场景、IBM WebSphere MQ介绍及spring集成配置

一.MQ简介及特点 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们.消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术.排队指的是应用程序通过队列来通信.队列的使用除去了接收和发送应用程序同时执行的要求.其中较为成熟的MQ产品有IBM WebSphere MQ.RabbitMQ .ZeroMQ

Spring框架介绍和原理

SpringMVC框架介绍 1) Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面. Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架.通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术.Velocity.Til

Quartz与Spring集成——创建调度器

前言 在<Quartz与Spring集成-- SchedulerFactoryBean的初始化分析>一文中介绍过Spring集成Quartz时的初始化过程,其中简单的提到了创建调度器的方法createScheduler.本文将着重介绍Quartz初始化时是如何创建调度器的. 创建调度器 这里从createScheduler的实现(见代码清单1)来分析,其处理步骤如下: 设置线程上下文的类加载器: 通过单例方法获取SchedulerRepository的实例(见代码清单2): 从调度仓库实例Sc

Spring集成MyBatis框架

Java在写数据库查询时,我接触过四种方式: 1.纯Java代码,引用对应的数据库驱动包,自己写连接与释放逻辑(可以用连接池) 这种模式实际上性能是非常不错的,但是使用起来并不是非常方便:一是要手工为Connection做获取与释放,大量的冗余代码也容易出错:另一个是,复杂的SQL用字符串写起来简直不可维护(换行.可视长度.参数都是问题). 2.使用Spring JdbcTemplate 这个其实还是挺不错的,配置比较简单,功能丰富上比手工管理Connection要舒服多了,而且代码也比较简洁.

Spring集成Struts、Hibernate----三大框架SSH(Spring、Struts和hibernate)

Spring 框架可以完成业务层的设计任务,Struts框架可以将表示层和业务层分离,而Hibernate框架可以提供灵活的持久层支持.下面介绍三大框架的集成环境: 1.配置Struts2. I.导入相关的JAR包. II.修改web.xml文件.Struts2的核心控制是通过过滤器(Filter)来实习的,所以在web.xml文件中需要进行过滤器的配置一边加载strust2框架.web.xml文件的代码如下: 1 <!-- 配置Struts2框架的核心Filter --> 2 <fil

Spring框架介绍

Spring框架介绍---本文内容主要来源:http://www.cnblogs.com/jingmoxukong/p/4506493.html Spring当前框架有20个jar包,大致可以分为6大模块: Core Container AOP and Instrumentation Messaging Data Access/Integration Web Test Spring框架提供了非常丰富的功能,因此整个架构也很庞大. 在我们实际的应用开发中,并不一定要使用所有的功能,而是可以根据需要

[转帖]微服务框架Spring Cloud介绍 Part2: Spring Cloud与微服务

微服务框架Spring Cloud介绍 Part2: Spring Cloud与微服务 http://skaka.me/blog/2016/08/03/springcloud2/ AUG 3RD, 2016 10:09 PM | COMMENTS 之前介绍过微服务的概念与Finagle框架, 这个系列介绍Spring Cloud. Spring Cloud还是一个相对较新的框架, 今年(2016)才推出1.0的release版本. 虽然Spring Cloud时间最短, 但是相比我之前用过的Du

【Java EE 学习第81天】【CXF框架】【CXF整合Spring】

一.CXF简介 CXF是Apache公司下的项目,CXF=Celtix+Xfire:它支持soap1.1.soap1.2,而且能够和spring进行快速无缝整合. 另外jax-ws是Sun公司发布的一套开发WebService服务的标准.早期的标准如jax-rpc已经很少使用,而cxf就是在新标准jax-ws下开发出来的WebService,jax-ws也内置到了jdk1.6当中. CXF官方下载地址:http://cxf.apache.org/download.html 下载完成之后,解压开压