cxf整合到spring中

项目中一般都是通过spring来进行管理,因此,绝大多数框架最终都将整合的spring中,cxf也不例外。

下面就讲解如何配置cxf,将其整合到spring中。(例子中web项目通过maven来进行管理,建立的mav项目为WebService_CXF)

一、pom.xml文件添加依赖jar包

1)添加spring支持
     2)添加cxf支持

配置如下:

  1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3   <modelVersion>4.0.0</modelVersion>
  4   <groupId>com.hik.CXF</groupId>
  5   <artifactId>WebService_CXF</artifactId>
  6   <packaging>war</packaging>
  7   <version>0.0.1-SNAPSHOT</version>
  8   <name>WebService_CXF Maven Webapp</name>
  9   <url>http://maven.apache.org</url>
 10   <dependencies>
 11     <dependency>
 12       <groupId>junit</groupId>
 13       <artifactId>junit</artifactId>
 14       <version>4.8.1</version>
 15       <scope>test</scope>
 16     </dependency>
 17
 18     <!--添加servlet支持  -->
 19     <dependency>
 20         <groupId>javax.servlet</groupId>
 21         <artifactId>javax.servlet-api</artifactId>
 22         <version>3.1.0</version>
 23         <scope>provided</scope>
 24     </dependency>
 25     <dependency>
 26         <groupId>javax.servlet.jsp</groupId>
 27         <artifactId>javax.servlet.jsp-api</artifactId>
 28         <version>2.3.1</version>
 29         <scope>provided</scope>
 30     </dependency>
 31
 32     <!-- 添加Spring支持 -->
 33     <dependency>
 34           <groupId>org.springframework</groupId>
 35           <artifactId>spring-core</artifactId>
 36           <version>4.1.7.RELEASE</version>
 37       </dependency>
 38       <dependency>
 39           <groupId>org.springframework</groupId>
 40           <artifactId>spring-beans</artifactId>
 41           <version>4.1.7.RELEASE</version>
 42       </dependency>
 43       <dependency>
 44          <groupId>org.springframework</groupId>
 45          <artifactId>spring-tx</artifactId>
 46          <version>4.1.7.RELEASE</version>
 47         </dependency>
 48       <dependency>
 49           <groupId>org.springframework</groupId>
 50           <artifactId>spring-context</artifactId>
 51           <version>4.1.7.RELEASE</version>
 52       </dependency>
 53       <dependency>
 54           <groupId>org.springframework</groupId>
 55           <artifactId>spring-context-support</artifactId>
 56           <version>4.1.7.RELEASE</version>
 57       </dependency>
 58
 59       <dependency>
 60         <groupId>org.springframework</groupId>
 61         <artifactId>spring-web</artifactId>
 62         <version>4.1.7.RELEASE</version>
 63     </dependency>
 64
 65     <dependency>
 66         <groupId>org.springframework</groupId>
 67         <artifactId>spring-webmvc</artifactId>
 68         <version>4.1.7.RELEASE</version>
 69     </dependency>
 70
 71     <dependency>
 72         <groupId>org.springframework</groupId>
 73         <artifactId>spring-aop</artifactId>
 74         <version>4.1.7.RELEASE</version>
 75     </dependency>
 76
 77     <dependency>
 78         <groupId>org.springframework</groupId>
 79         <artifactId>spring-aspects</artifactId>
 80         <version>4.1.7.RELEASE</version>
 81     </dependency>
 82
 83     <dependency>
 84         <groupId>org.springframework</groupId>
 85         <artifactId>spring-jdbc</artifactId>
 86         <version>4.1.7.RELEASE</version>
 87     </dependency>
 88
 89     <!--添加cxf支持  -->
 90     <dependency>
 91         <groupId>org.apache.cxf</groupId>
 92         <artifactId>cxf-rt-frontend-jaxws</artifactId>
 93         <version>3.1.9</version>
 94     </dependency>
 95     <!--在tomcat服务器上执行  -->
 96     <dependency>
 97         <groupId>org.apache.cxf</groupId>
 98         <artifactId>cxf-rt-transports-http</artifactId>
 99         <version>3.1.9</version>
100     </dependency>
101     <dependency>
102         <groupId>org.apache.cxf</groupId>
103         <artifactId>cxf-core</artifactId>
104         <version>3.1.9</version>
105     </dependency>
106
107   </dependencies>
108   <build>
109     <finalName>WebService_CXF</finalName>
110   </build>
111 </project>

二、spring加载配置文件 applicationContext.xml 配置

1)配置文件添加jaxws支持(cxf)标签

2)添加cxf的一些bean配置,主要是cxf的servlet处理请求加载用到 CXFServlet

3)Spring配置文件里,定义下webservice接口发布

配置如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:p="http://www.springframework.org/schema/p"
 5     xmlns:aop="http://www.springframework.org/schema/aop"
 6     xmlns:context="http://www.springframework.org/schema/context"
 7     xmlns:jee="http://www.springframework.org/schema/jee"
 8     xmlns:tx="http://www.springframework.org/schema/tx"
 9     xmlns:jaxws="http://cxf.apache.org/jaxws"
10     xsi:schemaLocation="
11         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
12         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
13         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
14         http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd
15         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
16         http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
17
18      <!-- 自动扫描 -->
19     <context:component-scan base-package="com.hik.webservice" />
20
21     <import resource="classpath:META-INF/cxf/cxf.xml"/>
22     <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
23     <!-- 定义服务提供者  -->
24     <jaxws:endpoint implementor="#helloWorld" address="/HelloWorld"></jaxws:endpoint>
25
26 </beans>

详细说明图:

三、web.xml配置

1)添加spring加载,spring监听支持,web启动时加载spring

2)定义一个Servlet,主要是处理WebService请求。所有的 /webservice请求,都交给CXFServlet类处理;

配置如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" 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">
 3   <display-name>TestWeb</display-name>
 4   <welcome-file-list>
 5     <welcome-file>index.html</welcome-file>
 6     <welcome-file>index.htm</welcome-file>
 7     <welcome-file>index.jsp</welcome-file>
 8     <welcome-file>default.html</welcome-file>
 9     <welcome-file>default.htm</welcome-file>
10     <welcome-file>default.jsp</welcome-file>
11   </welcome-file-list>
12
13   <!-- 添加对spring的支持 ,spring配置文件-->
14   <context-param>
15         <param-name>contextConfigLocation</param-name>
16         <param-value>classpath:applicationContext.xml</param-value>
17   </context-param>
18   <!-- 定义Spring监听器,加载Spring  -->
19   <listener>
20         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
21   </listener>
22
23     <!-- 定义一个Servlet,主要是处理WebService请求 -->
24     <servlet>
25          <servlet-name>CXFServlet</servlet-name>
26          <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
27     </servlet>
28     <servlet-mapping>
29         <servlet-name>CXFServlet</servlet-name>
30         <url-pattern>/webservice/*</url-pattern>
31     </servlet-mapping>
32
33
34 </web-app>

四、启动项目访问测试

启动下项目,然后访问 http://localhost:8080/WebService_CXF/webservice/

说明已经webservice接口已经发布成功了;

我们可以访问具体的接口: http://localhost:8080/WebService_CXF/webservice/HelloWorld?wsdl

效果如下:

附加拦截器配置(applicationContext.xml)说明截图:

时间: 2024-12-04 20:03:44

cxf整合到spring中的相关文章

cxf集成到spring中发布restful webservice

一.maven依赖 <!--cxf-->         <dependency>             <groupId>org.apache.cxf</groupId>             <artifactId>cxf-core</artifactId>             <version>3.1.4</version>         </dependency>         

1、SSH的整合----&gt;将Struts2整合到Spring中

1.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:aop="http://www.springframewo

将rabbitmq整合到Spring中手动Ack

如果要手动ack,需要将Listener container 的 acknowledge 设置为manul,在消费消息的类中需实现ChannelAwareMessageListener接口. override onMessage(Message,Channel) 方法,之后channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); 具体的一些,可参见:http://m.blog.csdn.net/article

Struts2+Spring3+MyBatis3整合以及Spring注解开发

 分类: Web(2)  版权声明:本文为博主原创文章,未经博主允许不得转载. 最近在做一个SpringMVC+spring+MyBatis的项目,突然想起以前自己要搭建一个Struts2+Spring+IBatis的框架,但是没成功,正好看见培训时候老师给的千里之行的开源项目.于是将这个项目提供的SQL加入到了自己的数据库中(所以数据和项目名用的是qlzx),打算以后做练习的时候用这个数据库.那么接下来问题来了(不要说某翔或者不约,不是那个问题):我有了数据库和数据,想要搭建一个网站,该怎么做

由一个RABBITMQ监听器死循环引出的SPRING中BEAN和MAPPER接口的注入问题

1 @Slf4j 2 @RestController 3 @Component 4 public class VouchersReceiverController implements MessageListener { 5 6 @Autowired 7 private VouchersService vouchersService; 8 9 String MerchantCode = PropertyReader.getValue("MerchantCode"); 10 11 /**

整合struts2+spring+hibernate

 一.准备struts2+spring+hibernate所需要的jar包: 新建web项目并将jar包引入到工程项目中. 二.搭建struts2环境 a.在web项目的web.xml中加入struts2的过滤器,以过滤用户的所有请求,该过滤器将请求交给对应的Action处理 . <filter> <filter-name>Struts2</filter-name> <filter-class> org.apache.struts2.dispatcher

【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 下载完成之后,解压开压

Apache CXF 整合Spring

一.创建一个 Java Web 工程,目录最终的结构如下图,下面我们将遂一说明: 二.把我们要用到的jar包全部放到lib目录下. 三.修改web.xml文件,整合CXF. <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2e

CXF整合Spring开发WebService

刚开始学webservice时就听说了cxf,一直没有尝试过,这两天试了一下,还不错,总结如下: 要使用cxf当然是要先去apache下载cxf,下载完成之后,先要配置环境变量,有以下三步: 1.打开环境变量配置窗口,点击新建,新建%CXF_HOME%变量,值为你下载的cxf所在的目录,我的是D:\tools\apache-cxf-3.1.0 2.在Path变量中新加一句%CXF_HOME%\lib,注意要和已有的path变量用;隔开 3.在CLASSPATH中新加一句%CXF_HOME%\li