zoukankan      html  css  js  c++  java
  • webService之helloword(web)

    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.xsd
    	http://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;
    
    @WebService
    public interface UserService {
    	@WebMethod
    	public User get(Integer id);
    	@WebMethod
    	public 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;
    @WebService
    public 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;
    	}
    
    	@Override
    	public 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.xsd
    	http://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;
    
    @WebService
    public interface UserService {
    	@WebMethod
    	public User get(Integer id);
    	@WebMethod
    	public 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 {
    	@Autowired
    	private UserService userService;
    	@Test
    	public void test01(){
    		//userService.eat();
    		User user = userService.get(1);
    		System.out.println(user);
    	}
    }
    

      

  • 相关阅读:
    uboot学习之三-----uboot启动第一阶段--start.S之一
    4.7 C语言的存储类,作用域,生命周期,链接属性
    uboot学习之二----主Makefile学习之一----版本号 u_boot_version(U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL).$(EXTRAVERSION)) (24-29行)
    uboot学习之二----主Makefile学习之二----环境变量之:主机的操作系统和主机架构(HOSTOS、HOSTARCH)(31-43行)
    uboot学习之二----主Makefile学习之三----静默编译
    uboot学习之二----主Makefile学习之四----两种编译方法:原地编译和单独输出文件夹编译
    Linux下安装交叉工具链&&安装vim
    善变的不只是女人,还有volatile ---偷来的标题名
    东芝半导体最新ARM开发板——TT_M3HQ开箱评测
    STM32F407外部晶体改为25M后检测不到芯片的解决办法
  • 原文地址:https://www.cnblogs.com/fjkgrbk/p/webService_web.html
Copyright © 2011-2022 走看看