AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

Spring 发布 Web Services 的 2.3.1 和 2.4.0 版本

  • 2016-09-26
  • 本文字数:1236 字

    阅读完需:约 4 分钟

Spring 最近发布了 Web Services 项目的 2.3.1 和 2.4.0 版本。

2.3.1 是一个小补丁版本,包含了如下的修正:

2.4.0 版本对代码库进行了重构,从而能够运行在最新的 Spring Framework 4.3 Spring Security 4.1 版本上。它的设计也会兼容将来的 Spring 5.0 。依然在 Java 7 上运行的应用可以采用这个新版本。

在 Spring Web Services 的 Web 站点上,对这个项目是这样定义的:

Spring Web Services(Spring-WS)是 Spring 社区的一个产品,它聚焦于创建文档驱动的 Web 服务。Spring Web Services 致力于简化契约优先(contract-first)的 SOAP 服务开发,允许创建灵活的 Web 服务,它支持多种操作 XML 负载的方式,我们可以从中任意选择一种。

人们采用 Spring-WS 会基于多种原因,在寻找遵循 Web 服务最佳实践的 SOAP 技术栈时,大多数人都会被它所吸引。Spring-WS 能够让最佳实践很容易实现。这些实践包括 WS-I basic profile、契约优先的开发模式以及契约和实现的松耦合。

上面所提到的最佳实践其实在 Spring Web Services 诞生之初就已经考虑到了。在 2007 年 1 月份,InfoQ采访了 Spring Web Services 的创建者 Arjen Poutsma ,当时这个项目正处于起步阶段。当问到是什么东西能够让 Spring Web Services 变得如此独树一帜时,他这样回答道:

首先,它完全专注于契约优先的 Web 服务设计。这意味着你必须要编写自己的 XSD Schema,这个 Schema 定义了你要发送的 XML 消息。你可以引用 WSDL 中的 Schema(尽管 Spring Web Services 也可以从 XSD 中生成 WSDL),并借助它来实现验证的目的。

其次,Spring Web Services 提供了契约和实现之间的一种松耦合:没有 wsdl2java 这样工具将契约直接连接到一个类;而是采用你喜欢的任意方式(DOM、SAX、 StAX,甚至 XML 编组技术如 JAXB、Castor、JIBX 或者 XMLBeans),实现处理传入 XML 的端点(endpoint)。将传入的请求映射到端点的方式,完全由你自己决定:默认情况下,我们提供基于消息内容或 SOAPAction header 的映射。这里的主要思想在于,你不用处理方法调用,而是处理 XML 消息。

正如 Poutsma 当时所言,编写自定义的 XSD Schema 是实现契约优先的 Web 服务的组成部分,在 Spring Web Services 的起步指南中,有如何消费生成 SOAP Web 服务的说明,如今还是按照这种方式来实现的。

读者可以参考 Concretepage.com 上综合的基于 SOAP 的样例应用,它会消费自己生成的Web 服务,从而实现对学生数据的跟踪。完整的项目可以在GitHub 仓库上找到,参见 webservices-soap-produce webservices-soap-consume

Spring Web Services 依然像十年前那样独树一帜。与其他所有的 Spring项目一样,Spring Web Services 能够很好地集成到Spring 生态系统之中。它所使用的特性包含 Spring Security ,并且会配置应用上下文,这个上下文能够用到 Spring Framework 框架中的任意项目之中。

查看英文原文 Spring Releases Versions 2.3.1 and 2.4.0 Web Services

2016-09-26 19:002155

评论

发布
暂无评论
发现更多内容

【Node Weekly #417】你需要了解的Node.js内存限制

道道里

前端 Node

如何构建智能湖仓架构?亚马逊工程师的代码实践来了

亚马逊云科技 (Amazon Web Services)

计算

什么是云效,云效平台

阿里云云效

阿里云 DevOps 云原生 研发 研发提效

MobTech观察 | CSDN:企业数字化转型如何提升段位?杨冠军畅谈企业数字化前世今生

MobTech袤博科技

数据分析 数字化转型 数据治理 企业 数据可视化

共建龙蜥社区,支撑商业建设

OpenAnolis小助手

Linux 开源 开发者

“云联邦”构建连云成片、无缝混合的一朵云

华为云开发者联盟

混合云 多云 华为云Stack 云联邦 联邦认证

【Frontend Focus #532】前端性能优化

道道里

前端 性能 浏览器

【伙伴故事】一盏智能灯,点亮家庭和工业照明的新未来

华为云开发者联盟

物联网 华为云 AIOT PLC 智能照明

做网络安全竟然不了解ATT&CK?这篇文章的介绍详细到令人尖叫

博文视点Broadview

面试官: Flink双流JOIN了解吗? 简单说说其实现原理

华为云开发者联盟

sql flink join 双流join 数据库SQL

网络安全kali渗透学习 web渗透入门kali系统的安装和使用。

学神来啦

快过年了,用五种不同的JS特效带你看烟花

海拥(haiyong.site)

大前端 js 28天写作 前端特效 1月月更

微帧ROI视频智能编码:基于人眼感兴趣区域,实现极致观感体验

微帧Visionular

视频编码

【JavaScript Weekly #570】 新一代构建工具对比

道道里

前端 vite 打包 webpack babel

零数科技入选毕马威中国“2021领先金融科技50企业”

科技热闻

构建面向异构算力的边缘计算云平台

火山引擎边缘云

gpu 云原生 边缘计算 算力

低代码实现探索(十七)前端种草点

零道云-混合式低代码平台

呼叫医生云! Amazon HealthLake 正式推出

亚马逊云科技 (Amazon Web Services)

存储

利用 Amazon Batch 来为容器化负载调用海量云端算力

亚马逊云科技 (Amazon Web Services)

计算

武汉智慧城市建设新名片 一城一云打造数字经济新引擎

InfoQ_967a83c6d0d7

零数科技入选毕马威中国“2021领先金融科技50企业”

科技热闻

产业协同,助力数转 | 鲸鲮正式加入中国电信5G产业创新联盟

鲸鲮JingOS

Linux 5G 操作系统 信创 电信

云效测试篇:测试用例&缺陷管理 | 云效快速入门

阿里云云效

阿里云 DevOps 云原生 云效 测试管理

4种Spring Boot 实现通用 Auth 认证方式

华为云开发者联盟

拦截器 spring-boot Auth 传统AOP 参数解析器

【JavaScript Weekly #399】JavaScript引擎基础(上):形态和内联缓存

道道里

JavaScript 前端

【JavaScript Weekly #399】JavaScript引擎基础(下):优化原型

道道里

JavaScript 前端

云原生下的指标与日志采集

尔达Erda

程序员 容器 云原生 监控 中间件

移动数字化平台如何让企业生态协同更高效?

BeeWorks

喜讯!Apache APISIX Committer 张晋涛当选「中国开源先锋 33 人」

API7.ai 技术团队

云原生 微服务网关 APISIX 网关

Hoo虎符研究院 | 币圈后浪——Osmosis一种高级AMM协议

区块链前沿News

Hoo 虎符交易所 虎符研究院

研究完PagerDuty,我发现一款好用的国产告警管理软件

睿象云

DevOps 运维

Spring发布Web Services的2.3.1和2.4.0版本_Java_Michael Redlich_InfoQ精选文章