Apache CXF与Spring集成实战:Tomcat部署WebService教程
需积分: 10 116 浏览量
更新于2024-09-11
收藏 53KB DOC 举报
本文档详细介绍了如何在Apache CXF与Spring框架的集成下,在Tomcat服务器环境下实现Web服务。首先,确保你的开发环境已配置为JDK1.5.0、Apache Tomcat 6.0.26、Spring 2.5.6以及Apache CXF 2.2.3或更高版本。接下来,我们将分步骤进行:
1. 创建Web项目: 使用Myeclipse 6.5创建一个名为cxfservice的Web项目,WEB-INF/lib目录包含了从Apache CXF 2.2.4压缩包中解压并选择所需jar文件,这包括了如commons-logging、geronimo相关specification jar、JavaMail、Servlet、WS-Metadata等核心依赖,以及Spring框架的jar包,如AOPAlliance相关组件。
- 必要的jar包列表:
- commons-logging-1.1.1.jar
- geronimo-activation_1.1_spec-1.0.2.jar (或Sun's Activation jar)
- geronimo-annotation_1.0_spec-1.1.1.jar (JSR250)
- geronimo-javamail_1.4_spec-1.6.jar (或Sun's JavaMail jar)
- geronimo-servlet_2.5_spec-1.2.jar (或Sun's Servlet jar)
- geronimo-ws-metadata_2.0_spec-1.1.2.jar (JSR181)
- geronimo-jaxws_2.1_spec-1.0.jar (或Sun's jaxws-api-2.1.jar)
- geronimo-stax-api_1.0_spec-1.0.1.jar (或其他stax-api jar)
- jaxb-api-2.1.jar
- jaxb-impl-2.1.12.jar
- jetty-6.1.21.jar
- jetty-util-6.1.21.jar
- neethi-2.0.4.jar
- saaj-api-1.3.jar
- saaj-impl-1.3.2.jar
- wsdl4j-1.6.2.jar
- wstx-asl-3.2.8.jar
- XmlSchema-1.4.5.jar
- xml-resolver-1.2.jar
- Spring相关jar(具体版本取决于你的Spring版本)
2. 整合CXF和Spring: 在项目中,你需要创建CXF的endpoint,这通常通过定义一个Java类,该类实现了WebService接口,并且这个接口由Spring管理。Spring会注入必要的依赖,并在启动时创建endpoint实例。例如,你可以创建一个名为`HelloWorldService`的接口和实现类,然后在Spring配置文件中注册该服务。
```java
// HelloWorldService.java
public interface HelloWorldService {
String sayHello(String name);
}
@Service
public class HelloWorldServiceImpl implements HelloWorldService {
@Override
public String sayHello(String name) {
return "Hello, " + name;
}
}
```
3. 配置Spring: 在Spring配置文件(如applicationContext.xml)中,添加CXF的相关配置,指定endpoint的bean和它暴露的服务端点URL。同时,可以配置CxfRsServer或CxfEndpoint来处理HTTP请求。
```xml
<bean id="helloWorldEndpoint" class="com.example.HelloWorldServiceImpl" />
<jaxrs:server id="restService" address="/">
<jaxrs:serviceBeans>
<ref bean="helloWorldEndpoint" />
</jaxrs:serviceBeans>
</jaxrs:server>
```
4. 部署到Tomcat: 将Spring配置文件和Java代码打包到Web-INF目录下,然后部署到Tomcat服务器。访问`http://localhost:8080/cxfservice/restService`,应该能看到HelloWorld服务的接口调用。
通过这个实例,你将学习到如何在Spring容器中管理CXF endpoint,以及如何通过RESTful风格的接口提供Web服务。理解这些概念后,你将能够扩展到更复杂的业务场景,灵活地利用CXF和Spring的强大功能。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2019-04-23 上传
2012-07-11 上传
2013-04-30 上传
2014-11-22 上传
433 浏览量
2016-01-13 上传
warnor
- 粉丝: 1
- 资源: 6