1.建立maven web 项目
2.导入maven坐标
<!-- 使用log4j日志实现 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
</dependency>
<!-- 使用 cxf rs 开发 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.0.1</version>
</dependency>
<!-- 使用rs客户端 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>3.0.1</version>
</dependency>
<!-- 在cxf扩展提供者,提供转换为json接口 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-extension-providers</artifactId>
<version>3.0.1</version>
</dependency>
<!--cxf 扩展提供者 转换json 默认需要一个工具包 -->
<dependency>
<groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId>
<version>1.3.7</version>
</dependency>
<!-- spring核心 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<!--spring web集成 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<!--spring 整合Junit -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<!-- Junit开发包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
配置启动端口
3.配置web.xml
<!-- spring配置文件位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- spring核心监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- cxf基于web访问 -->
<servlet>
<servlet-name>CXFService</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFService</servlet-name>
<url-pattern>/xxx/*</url-pattern>
</servlet-mapping>
4.创建实体与service
5.配置applicationContext.xml
引入名称空间 xmlns:jaxrs="http://cxf.apache.org/jaxrs"; http://cxf.apache.org/jaxrshttp://cxf.apache.org/schemas/jaxrs.xsd
<!--
配置服务端
address客户端访问服务路径
serviceBean 配置实现类
-->
〈jaxrs:server id="xxx" address="/xxx">
<jaxrs:serviceBeans>
<bean class="service实现类全名"/>
</jaxrs:serviceBeans>
<jaxrs:inInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
</jaxrs:inInterceptors>
<jaxrs:outInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
</jaxrs:outInterceptors>
</jaxrs:server>
6.客户端
// create 建立与调用服务资源路径项链
// type 发送给服务器数据格式--@consumer
// accept 接收服务器数据格式--@produces
// 采用http协议哪种方式访问服务器
最终访问资源服务路径
服务器根目录地址+项目名称+web.xml配置+applicationContext.xml address配置 + 类 @Path + 方法 @Path
Collection<? extends JavaBean> collection = WebClient.create("最终访问资源服务路径")
.accept(MediaType.APPLICATION_XML)
.getCollection(JavaBean.class);
System.out.println(collection);