spring Boot和CXF构建WebService

spring Boot和CXF构建WebService,第1张

说起web service最近几年restful大行其道,大有取代传统soap web service的趋势,但是一些特有或相对老旧的系统依然使用了传统的soap web service,例如银行、航空公司的机票查询接口等。

目前就遇到了这种情况,需要在系统中查询第三方提供的soap web service接口,也就是说要将它整合进现有的系统当中。

Spring整合CXF本来十分简单,但是因为使用了 Spring Boot ,不想用以前xml一堆配置的方式,那么能否按照Spring Boot的风格优雅的进行整合呢?

答案当然是肯定的,但是遍查网上几乎没有这方面的资料,折腾过后觉得还是有必要记录一下,虽然它显得非常的简单。

这里主要添加的是cxf的包依赖

这里我创建了一个hello word的测试方法

在业务实现中我们需要如下配置:
参数说明:
targetNamespace 为这是我的接口类所在路径;
endpointInterface 这是我的业务类所在路径;

业务层我们已经创建完成了,但是我们应该如何让webService运行起来呢?

那么到这里呢,我们的所有的步骤基本完成了,启动spring boot 然后再浏览器中输入url: >

Springboot 集成Swagger 2(springfox)

Springfox Swagger2:

Springfox Swagger UI:

创建一个以上一个类配置swagger即可。

访问界面:IP:port/swagger-uihtml

在以上配置类中添加方法:

项目中并不需要swagger将整个项目的所有类暴露出去,通过以上配置的Bean实例,设置swagger关注并显示的接口,以及是否开启使用:

只希望在开发环境中使用swagger,但是生产环境不使用:

配置API文档分组:

配置多个分组:

在配置类中,一个Docket Bean实例,对应一个swagger分组。

@Api的属性

示例:

示例:

@ApiModel的属性:

@ApiModelProperty的属性说明:

示例:

在单个物理服务器上运行2个或多个Percona XtraDB Cluster(PXC)节点这样没有什么意义,除了教育和测试目的,但在这种情况下这样做仍然是有用的。最受欢迎的实现方式似乎是服务器的虚拟化,比如利用流浪盒子。但是同样的方式你可以运行多个MySQL实例在并行 *** 作系统级别上,还有并发的mysqld的形成过程,因此你也可以有多个Percona XtraDB Cluster节点。而且实现这一目标的方法是恰恰相同的:使用专用的datadirs和为每个节点设置不同的端口。

最近我整理了一下一线架构师的Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC,分享给大家一起学习一下~ 文末免费获取哦

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

11 Spring面试必备题+解析

12 Spring学习笔记

(1)Spring源码深入解析

(2)Spring实战

13 Spring学习思维脑图

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

21 Spring Boot面试必备题+解析

22 Spring Boot学习笔记

(1)Spring Boot实践

(2)SpringBoot揭秘 快速构建微服务体系

23 SpringBoot学习思维脑图

springcloud是微服务架构的集大成者,将一系列优秀的组件进行了整合。基于springboot构建,对我们熟悉spring的程序员来说,上手比较容易。通过一些简单的注解,我们就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。

31 Spring Cloud面试必备题+解析

32 Spring Cloud学习笔记

(1)Spring Cloud参考指南

SpringMVC是一种基于Java的实现MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发

41 Spring MVC面试必备题+解析

42 Spring MVC学习笔记

(1)看透Spring MVC源代码分析与实践

(2)精通Spring MVC

最后分享一下一份JAVA核心知识点整理(PDF)

在写web项目的时候,controller里的返回值一般分为两种,一种是返回页面,也就是ModeAndView,另一种是直接返回数据,比如json格式的数据。

返回一个页面,我们需要用到一些模板引擎,比如熟知的jsp,模板引擎后面会详细讲解。

返回数据一般会选择返回json数据,我们之前的demo项目中使用的@RestController就是一个返回数据的注解。

spring-boot 支持多种模版引擎包括:

我们在讲前后端分离之前,都会使用Thymeleaf模板引擎,先简单的介绍一下它。

Thymeleaf是一个java类库,它是一个xml/xhtml/html5的模板引擎,可以作为mvc的web应用的view层。

Thymeleaf还提供了额外的木块与spring mvc集成,所以使用ssm框架的也可以使用这个模板引擎。

接下来,我们通过一个项目,来实践一下两种不同的返回结果。

先看一下最终的目录结构:

这里我们使用了Thymeleaf模板引擎来获得后台传来的数据并解析,使用bootstrap框架显示数据。可以看到,Thymeleaf的用法和jsp还是有点像的。可以直接通过${}的形式来获得attribute中的数据。

可以看到,我们成功的在前端获取到了数据。方式就是将数据保存在attribute中,然后再前端页面获取。

我们修改了注解,发现结果变了,直接显示了“index”,是因为@RestController会直接返回数据,而不是渲染页面,所以直接返回了index(这个index,是return语句中的)

访问 >

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/13108878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存