一个简单的webService如何创建
- 了解webService基本概念
- 1.基本概念
- 2.了解步骤
- 开始coding
- 1.搭建一个项目
- step1:
- step2:
- step3:
- step4:
- 项目的整体目录结构
- 具体代码参考
- service层
- impl层
- main函数
- 查看结果
了解webService基本概念
因为工作原因,组里做了一个关于数据迁移的接口,也就是webService,所以组长给了个任务,让搞一个动态发布接口,(不太明白是什么鬼。。。)所以上网上收集了一些资料,顺带着先写一个小demo了解一下什么是webService,把我的学习步骤记录在这里,希望对大家能有一些帮助。
1.基本概念
这个可以去百度百科,介绍的挺详细的,我就不复制了,给个链接webService百科详情
2.了解步骤
结合资料,个人认为可以把这个分为最简单的两步:
1.服务端,也就是接口的供应商
2.客户端,接口的使用方
开始coding
1.搭建一个项目
因为正好也在学习springboot框架,所以使用springboot框架搭建了一个webService,非常简单,一个项目搭建下来也就一分钟。(使用的IDEA,eclipse其实步骤没什么差别)
step1:
新建一个项目,创建的时候选择springInitializr,也就是spring的初始化器。这个其实本质上也是maven项目,就是springboot帮你生成一个maven项目,并且不用你配置一堆spring的参数什么的,而是给你用了很多的默认值,并且配置好依赖
step2:
会使用maven的同学应该都不陌生这个界面,让你设置你的包名,项目名,语言,版本。。。next
step3:
选择你需要的依赖的组件,这里我选择了一个web,想着是做webService,所以也选了一个webService。这样springboot会将你所依赖的jar包帮你配好在pom文件里。next
step4:
点击Finish,完成~~
项目的整体目录结构
整体目录结构很简单,这个是我完成的效果service包和impl包是我自己创建的,最简单的一个webService大概就是这样了。
service里是服务接口;
impl是接口的实现;
wsDemoApplication是springboot自己生成的一个main函数,也就是程序的入口;我这个是因为设置了step2里的包名和类名,所以生成的就是这样
记住:现在不需要配置tomcat,springboot集成的有,如果要改端口之类的可以再下面的properties里自己改
具体代码参考
service层
package ws_demo.service;
import javax.jws.WebMethod;
@javax.jws.WebService
public interface WebService {
@WebMethod
String sayHello(String name);
}
impl层
package ws_demo.impl;
import ws_demo.service.WebService;
@javax.jws.WebService
public class WebServiceImpl implements WebService {
@Override
public String sayHello(String name) {
String said = name + ",Hello~~";
System.out.println(said);
return said;
}
}
main函数
package ws_demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import ws_demo.impl.WebServiceImpl;
import javax.xml.ws.Endpoint;
@SpringBootApplication
public class WsDemoApplication {
public static void main(String[] args) {
SpringApplication.run(WsDemoApplication.class, args);
/*
在服务器端运行WebServicePublish类中的main方法,控制台打印出发布webservice成功!
在浏览器中输入我们在WebServicePublish类中定义的url?wsdl(注意一定要加wsdl),浏览器显示一个xml文档
那么我们这个WebService就发布成功了。
*/
//定义webService的发布地址,提供给外界使用接口的地址
String url = "http://localhost:8081/wsServeice";
Endpoint.publish(url,new WebServiceImpl());
System.out.println("发布webService成功!");
}
}
在服务器端运行WebServicePublish类中的main方法,控制台打印出发布webservice成功!
在浏览器中输入我们在WebServicePublish类中定义的url?wsdl(注意一定要加wsdl),浏览器显示一个xml文档
那么我们这个WebService就发布成功了。
查看结果
做到这一步,一个最简单的webService服务端就完成了。至于客户端如何调用,我还在摸索学习中,后续会更新补上。(两年了,我忘了…)