`

webservice学习 5.spring与CXF集成

阅读更多

环境:CXF 2.6.3

IDE: eclipse for javaEE JUNO

 

这系列文章都是看书看视频的笔记 如果有错误欢迎指正^_^

 

过程是比较简单的。CXF的程序用现成的 不讲如何开发JAX-WS或者JAX-RS

 

 

 

1.创建项目(动态web项目)在 web-inf/下导入CXF和其他第三方包


 

 

2.修改web.xml 增加spring配置:

在web.xml中增加启动spring的配置和CXF的有关配置

配置内容如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>spring_cxf</display-name>
  
   <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/beans-server.xml</param-value>
  </context-param>
  <listener>
    <listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
  </listener>
  <servlet>
    <servlet-name>CXFServlet</servlet-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>/ws/*</url-pattern>
  </servlet-mapping>

</web-app>

 beans-server.xml是指定的spring配置文件(具体解释可以看:http://blog.csdn.net/sapphire_aling/article/details/6069764)

 

 

beans-server.xml的内容如下,在spring的配置中增加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:jaxws="http://cxf.apache.org/jaxws"
	xmlns:jaxrs="http://cxf.apache.org/jaxrs"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans.xsd
	http://cxf.apache.org/jaxws
	http://cxf.apache.org/schemas/jaxws.xsd
	http://cxf.apache.org/jaxrs
	http://cxf.apache.org/schemas/jaxrs.xsd">
	
	<!-- 导入 CXF 扩充XML标记库,用于在Spring启用WebService标记 -->
	<import resource="classpath*:META-INF/cxf/cxf.xml" />
	<import resource="classpath*:META-INF/cxf/cxf-extension-soap.xml" />
	<import resource="classpath*:META-INF/cxf/cxf-servlet.xml" />
  
  	<!-- CXF 提供的内置拦截器 -->
  	<bean id="inLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingInInterceptor" />
  	<bean id="outLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
  	
  
  	<!-- 配置方案一  使用JAX-WS标准配置jaxws:endpoint,发布服务 -->
  	<!-- id:spring bean标识,implementor:服务实现类,address:服务发布路径 -->
	<jaxws:endpoint id="merchant_1" 
			implementor="com.cxfdemo.server.service.impl.IMerchantServiceImpl" address="/m_1">
		<!-- 可选配置入口拦截器 -->
		<jaxws:inInterceptors>
			<ref bean="inLoggingInterceptor" />
		</jaxws:inInterceptors>
		<!-- 可选配置出口拦截器 -->
		<jaxws:outInterceptors>
			<ref bean="outLoggingInterceptor" />
		</jaxws:outInterceptors>
	</jaxws:endpoint>
	
	<!-- 配置方案二  使用JAX-WS标准配置jaxws:endpoint,发布服务 -->
	<!-- id:spring bean标识,serviceClass:服务实现接口,address:服务发布路径 -->
	<jaxws:server id="merchant_2" serviceClass="com.cxfdemo.server.service.IMerchantService" address="/m_2">
		<!-- 注入:服务实现类 -->
		<jaxws:serviceBean>
			<ref bean="merchantService"/>
		</jaxws:serviceBean>	
		
		<!-- 可选配置入口拦截器 -->
		<jaxws:inInterceptors>
			<ref bean="inLoggingInterceptor" />
		</jaxws:inInterceptors>
		<!-- 可选配置出口拦截器 -->
		<jaxws:outInterceptors>
			<ref bean="outLoggingInterceptor" />
		</jaxws:outInterceptors>
		
	</jaxws:server>
	<!-- 服务实现类 -->
	<bean id="merchantService" class="com.cxfdemo.server.service.impl.IMerchantServiceImpl" />

</beans>

 以上有两种方式

 

  • 使用jaxws:endpoint 和代码里使用EndPoint是差不多的 配置服务实现类和地址即可(也可以增加拦截器等;
  • jaxws:server 方式 这和JaxWsServerFactoryBean的使用差不多 配置服务类配置地址 还有服务的实现类

以上完成就可以运行了:



 可见运行正常

 

 

JAX-RS同理 只需要修改spring配置文件即可:

<?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:jaxws="http://cxf.apache.org/jaxws"
	xmlns:jaxrs="http://cxf.apache.org/jaxrs"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans.xsd
	http://cxf.apache.org/jaxws
	http://cxf.apache.org/schemas/jaxws.xsd
	http://cxf.apache.org/jaxrs
	http://cxf.apache.org/schemas/jaxrs.xsd">
	
	<!-- 导入 CXF 扩充XML标记库,用于在Spring启用WebService标记 -->
	<import resource="classpath*:META-INF/cxf/cxf.xml" />
	<import resource="classpath*:META-INF/cxf/cxf-extension-soap.xml" />
	<import resource="classpath*:META-INF/cxf/cxf-servlet.xml" />
  
  	<!-- CXF 提供的内置拦截器 -->
  	<bean id="inLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingInInterceptor" />
  	<bean id="outLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
  	

  	<jaxrs:server id="merchantrs" address="/">
  		<jaxrs:serviceBeans>
  			<ref bean="merchantService"/>
  		</jaxrs:serviceBeans>
 		
 		<jaxrs:extensionMappings>
            <entry key="json" value="application/json" />
            <entry key="xml" value="application/xml" />
        </jaxrs:extensionMappings>
        
		<!-- 可选配置入口拦截器 -->
		<jaxrs:inInterceptors>
			<ref bean="inLoggingInterceptor" />
		</jaxrs:inInterceptors>
		<!-- 可选配置出口拦截器 -->
		<jaxrs:outInterceptors>
			<ref bean="outLoggingInterceptor" />
		</jaxrs:outInterceptors>		
  	</jaxrs:server>
  
	<!-- 服务实现类 -->
	<bean id="merchantService" class="com.cxfdemo.server.service.impl.IMerchantServiceImpl" />

</beans>

 

以上的代码来自北风网的视频课程的源代码(太懒了就没自己重写个webservice) 这里以它的代码来做笔记用(不是广告的说..哎~)

 

  • 大小: 22.1 KB
  • 大小: 62.7 KB
1
0
分享到:
评论

相关推荐

    spring与cxf集成配置小实例

    本实例将介绍如何将Spring与CXF集成,以实现Webservice的发布和调用,并涉及拦截器的配置。 首先,我们来看`spring与cxf集成配置小实例`的服务器端配置。在`cxf_test_spring_server.zip`中,你将会找到服务器端的...

    Apache CXF2+Spring2.5轻松实现WebService

    本教程将深入探讨如何利用Apache CXF 2与Spring 2.5来构建和使用WebService。 首先,让我们理解这两个组件的基本概念。Apache CXF是一个全面的服务框架,它支持多种Web服务规范,如SOAP、RESTful、WS-*等。它提供了...

    spring+CXF实现WebService(http+https)

    1. **Spring与CXF结合**: Spring框架提供了灵活的依赖注入和AOP(面向切面编程)特性,可以方便地集成各种服务组件。CXF作为Web服务提供商,它支持SOAP和RESTful两种风格的服务,能够与Spring无缝对接。通过Spring...

    webservice spring与CXF结合实现 实例和jar包都有

    - **易于集成**:Spring的DI和AOP机制可以与CXF的Web服务组件无缝集成,简化服务的创建和管理。 - **灵活性**:Spring支持多种数据访问和事务管理策略,可以灵活地处理Web服务背后的业务逻辑。 - **测试友好**:由于...

    idea + spring4.3.7.RELEASE+cxf3.1.0整合+客户端调用

    本教程将围绕"idea + spring4.3.7.RELEASE + cxf3.1.0"的整合进行详细讲解,旨在帮助开发者理解如何在IDEA(IntelliJ IDEA)环境中搭建一个基于Maven的Spring MVC项目,并结合Apache CXF实现Web服务的消费与提供。...

    webservice=maven+spring+cxf

    【标题】"webservice=...通过研究这两个项目,你可以学习到如何在 Maven 项目中集成 Spring 和 CXF,如何编写和发布 Web 服务,以及如何在 Java 客户端中消费这些服务。这将有助于提升你在 Web 服务开发领域的技能。

    Webservice入门教程_用CXF编写基于Spring的WebService示例代码.zip

    3. Apache CXF框架:学习CXF的主要功能,如服务发布、客户端生成、支持多种协议和绑定格式,以及与Spring的集成。 4. CXF和Spring的整合:了解如何在Spring应用中配置和使用CXF,利用Spring的ApplicationContext...

    webservice-cxf-spring-jar.zip

    【标题】"webservice-cxf-spring-jar.zip" 是一个包含了使用Apache CXF与Spring框架集成开发Web服务的Java库集合。这个压缩包提供了一整套必要的JAR文件,以便于开发者在他们的项目中快速搭建和运行基于CXF的Web服务...

    spring CXF集成,实现webservice(包含https)

    本文将详细讲解如何将Spring与CXF集成,以实现Web Service(包括HTTPS安全通信)。 首先,Spring是一个开源的Java平台,它提供了一个全面的编程和配置模型,用于简化Java应用的开发。Spring框架的核心特性包括依赖...

    cxf+spring webservice demo client

    Apache CXF与Spring的集成使得开发和部署Web服务变得更加便捷。通过Spring,我们可以利用其依赖注入(DI)和面向切面编程(AOP)特性,更方便地管理CXF组件。下面将详细阐述如何构建一个基于CXF和Spring的Web服务...

    webService(基于cxf)的完整例子

    7. **CXF与Spring集成**:CXF与Spring框架集成紧密,可以方便地将服务组件化,利用Spring的依赖注入和管理特性。通过Spring配置,可以实现服务的自动发布和生命周期管理。 8. **安全与认证**:CXF支持多种安全机制...

    Spring集成Cxf调用WebServices

    3. **Spring与CXF的集成**:Spring和CXF的结合使得Web服务的开发、部署和调用更加简单。Spring可以管理CXF的生命周期,而CXF则可以利用Spring的配置和依赖注入能力。通过Spring的ApplicationContext,我们可以声明式...

    CXF2.7+Spring3 Java WebService 集成用例

    在本文中,我们将深入探讨如何将Apache CXF 2.7与Spring 3框架集成,以便在Java环境中创建和消费Web服务。这是一个重要的技术组合,因为它允许开发人员利用Spring的依赖注入和管理能力,以及CXF的强大Web服务支持。...

    spring整合CXF开发webService所需jar包

    当我们将两者结合时,可以利用Spring的管理能力来轻松地集成和部署CXF Web服务。下面将详细阐述如何在Spring环境中整合CXF开发Web Service,并介绍所需的关键jar包。 首先,我们需要理解Spring与CXF整合的基础。...

    【webservice】Springboot整合CXF包括源码

    本文将深入探讨如何整合Spring Boot与CXF,以便利用Spring Boot的便捷性和CXF的强大Web服务功能。我们将通过源码分析,了解整合过程中的关键步骤和核心配置。 首先,Spring Boot是Spring框架的一种快速开发工具,它...

    spring+cxf 开发webservice

    综上所述,这个项目为Java开发者提供了一个使用Spring和CXF构建Web服务的起点,涵盖了从基础架构到具体实现的多个层次,有助于快速启动Web服务开发,并且能够在MyEclipse环境中无缝集成,方便进行进一步的定制和扩展...

    java_webservice_JAX-RS.zip_cxf_jax_jax-rs_spring cxf

    文件"java webservice CXF JAX-WS(SOAP) + JAX-RS(RESTfull).docx"可能包含了具体的示例代码和详细步骤,帮助理解如何在SSH环境中集成并使用CXF和JAX-RS。建议参考文档中的内容进行实践操作,以加深理解。 总的来说...

    基于spring+cxf实现用户文件传输的webservice

    基于spring+cxf实现用户文件传输的webservice 在本文中,我们将探讨如何使用Spring+CXF实现用户文件传输的Webservice。该Webservice提供了基本的报文上传和查询功能,同时还提供了用户身份验证功能。 Spring 和 ...

    SpringBoot框架及CXF发布WebService

    在给定的压缩包文件中,"WebService_Server"可能包含了SpringBoot与CXF集成的服务器端代码示例,而"Webservice_Client"则可能包含CXF客户端调用服务的示例代码。这两个部分可以作为学习和实践SpringBoot发布和消费...

    CXF WebService整合Spring示例工程代码demo

    CXF WebService整合Spring示例工程代码demo可以直接导入eclipse。参照网页http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html 完成的webService服务提供。 大致步骤: 1.引入cxf和其他需要的jar包,(本...

Global site tag (gtag.js) - Google Analytics