webservice jax-rs与spring整合

来源:互联网 发布:淘宝店铺链接在哪复制 编辑:程序博客网 时间:2024/05/22 20:53

maven工程导入相关坐标

<!-- 导入webservice依赖 -->        <dependency>            <groupId>org.apache.cxf</groupId>            <artifactId>cxf-rt-frontend-jaxws</artifactId>            <version>${cxf.version}</version>        </dependency>        <dependency>            <groupId>org.apache.cxf</groupId>            <artifactId>cxf-rt-frontend-jaxrs</artifactId>            <version>${cxf.version}</version>        </dependency>        <dependency>            <groupId>org.apache.cxf</groupId>            <artifactId>cxf-rt-rs-client</artifactId>            <version>${cxf.version}</version>        </dependency>           <dependency>            <groupId>org.apache.cxf</groupId>            <artifactId>cxf-rt-rs-extension-providers</artifactId>            <version>${cxf.version}</version>        </dependency>        <dependency>            <groupId>org.codehaus.jettison</groupId>            <artifactId>jettison</artifactId>            <version>1.3.7</version>        </dependency>

applicationContext.xml配置

<!-- id的名称与你所定义的接口的名称相同,同时首字母小写;address:自定义的,名称最好规范:与ID名称一样 --><jaxrs:server id="xxxService" address="/xxxService">     <jaxrs:serviceBeans>   <!-- 配置服务接口的实现类 -->       <bean class="com.kayo.main.service.impl.XxxServiceImpl" />     </jaxrs:serviceBeans>   <!-- 配置的服务的日志监听,不是必须配置 -- >     <jaxrs:inInterceptors>       <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean>     </jaxrs:inInterceptors>     <jaxrs:outInterceptors>       <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"></bean>     </jaxrs:outInterceptors>  </jaxrs:server>配置的每一个实体类的所有操作

web.xml配置

<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>/services/*</url-pattern>    </servlet-mapping>

请求路径:
每一个webservice接口的请求路径的拼接:
项目的启动URL + web.xml中url-pattern的路径+applicationContext-webservice中address + 接口类中的方法中@Path路径

方法调用

        WebClient.create("请求路径").type(MediaType.APPLICATION_JSON).post(实体类对象);

webservice中的注解
@GET 查 / @POST 增 / @PUT 改 / @DELETE 删

@Produces
方法的返回类型 生产者
@Consumes
方法的参数类型 消费者
注:如果返回类型或参数类型是基本数据类型+String,则可省略

@Path 路径
定义在方法上,表示访问这个方法的路径
定义在类名上,表示整个类的访问路径 ,等价于在webservices配置文件中配置的 address

@PathParam
方法@Path路径后所带的参数
@QueryParam
表单中提交的过来的参数数据

原创粉丝点击