WebService 简介
最近接了个新活,要给一个老系统写一些传数据的接口,用到了 WebService,网上使用 SpringBoot 结合 cxf 实现 WebService 接口的教程中 SpringBoot 版本都较低,摸索了一下 SpringBoot2 集成 cxf 的方法,记录一下。
WebService 是一种跨编程语言、跨操作系统平台的远程调用技术。
- 远程调用技术:远程调用是指一台设备上的程序 A 可以调用另一台设备上的方法 B。比如:银联提供给商场的 pos 刷卡系统,商场的 pos 机转账调用的转账方法的代码其实是跑在银行服务器上的。再比如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以 WebService 服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率。
- 跨编程语言:是指服务端、客户端程序的编程语言可以不同
- 跨操作系统平台:是指服务端、客户端可在不同的操作系统上运行
服务器端代码
项目的目录结构如下,基于 SpringBoot2.2.1 和 xcf3.2.9 构建
pom.xml
/*引入cxf依赖*/ <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version>3.2.9</version> </dependency> /*引入jpa依赖*/ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> /*引入mysql驱动依赖*/ <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
实体类
数据库表 user 结构如下
实体类代码
UserEntity.java
repository 类代码 repository.java service 接口及其实现类 UserService.java UserServiceImpl.java 服务发布接口及实现类 TestInterface.java TestInterfaceImpl.java WebService 配置类 WebServiceConfig.java application.yml 配置文件 spring: datasource: url: jdbc:mysql://localhost:3306/login?serverTimezone=UTC username: 你的用户名 password: 你的密码 driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: update show-sql: true 服务端完成 访问 http://localhost:8080/services,出现可供选择的服务。 客户端代码 客户端引入 cxf 依赖 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version>3.2.9</version> </dependency> 测试类代码 Test.java
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于