spring 整合webservice
pom.xml文件
<dependencies><!-- CXF WS开发 --><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-frontend-jaxws</artifactId><version>3.0.1</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.1.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.1.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.1.7.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies><build><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>tomcat-maven-plugin</artifactId><version>1.1</version><configuration><port>9998</port></configuration></plugin> ???????????<plugin> ???????????????<groupId>org.apache.maven.plugins</groupId> ???????????????<artifactId>maven-compiler-plugin</artifactId> ???????????????<version>2.3.2</version> ???????????????<configuration> ???????????????????<source>1.7</source> ???????????????????<target>1.7</target> ???????????????</configuration> ???????????</plugin> ???????</plugins></build>
web.xml文件
<context-param> ???<param-name>contextConfigLocation</param-name> ???<param-value>classpath:applicationContext.xml</param-value> ?</context-param> ?<listener> ???<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> ?</listener> ?<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>
applicationContext.xml文件
<?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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"><!-- serviceClass 服务接口address 服务访问地址 ?--><jaxws:server id="userService" address="/userService" serviceClass="com.baidu.service.UserService"><jaxws:serviceBean><bean class="com.baidu.service.imp.UserServiceImp" /></jaxws:serviceBean></jaxws:server></beans>
包结构
UserService接口
package com.baidu.service;import javax.jws.WebMethod;import javax.jws.WebService;import com.baidu.domain.User;@WebServicepublic interface UserService {@WebMethodpublic User get(Integer id);@WebMethodpublic void eat();}
UserServiceImp实现类
package com.baidu.service.imp;import javax.jws.WebMethod;import javax.jws.WebService;import com.baidu.domain.User;import com.baidu.service.UserService;@WebServicepublic class UserServiceImp implements UserService {public User get(Integer id) {if(id==1){User u=new User();u.setId(2);u.setName("张三");return u;}return null;}@Overridepublic void eat() {System.out.println("123");}}
新建一个maven web project项目
pom.xml文件不变
applicationContext.xml文件
<?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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"><!-- address 客户端访问服务路径 serviceClass 配置接口serviceBean 配置实现类 --><jaxws:client id="userServiceClient" serviceClass="com.baidu.service.UserService" address="http://localhost:9998/werservicespring/services/userService" ><!-- 来源消息拦截器<jaxws:inInterceptors><bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/></jaxws:inInterceptors> --><!-- 输出消息拦截器 <jaxws:outInterceptors><bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" /></jaxws:outInterceptors>--></jaxws:client></beans>
在测试之前需要创建接口 包结构也需要一样
package com.baidu.service;import javax.jws.WebMethod;import javax.jws.WebService;import com.baidu.domain.User;@WebServicepublic interface UserService {@WebMethodpublic User get(Integer id);@WebMethodpublic void eat();}
测试类
package com.baidu.test;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import com.baidu.domain.User;import com.baidu.service.UserService;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath:applicationContext.xml")public class Test01 {@Autowiredprivate UserService userService;@Testpublic void test01(){//userService.eat();User user = userService.get(1);System.out.println(user);}}
webService之helloword(web)
原文地址:http://www.cnblogs.com/fjkgrbk/p/webService_web.html