50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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:002407

评论

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

华为元服务“服务商”生态加速计划正式启动,共拓服务分发新蓝海

新消费日报

怎样做结合YashanDB构建多租户数据库解决方案?

数据库砖家

自控学习历程系列 项目管理经验总结(1)

万里无云万里天

工厂运维

大型企业数智化破局,一定不要错过2025 GBIC这10场论坛!

用友BIP

工业设计系列 自控设计经验总结(2)

万里无云万里天

设计师 工厂运维 工业设计

基于YashanDB数据库的实时数据备份与恢复方案

数据库砖家

自控学习历程系列 项目管理经验总结(4)

万里无云万里天

项目管理 工厂运维

引领中国企业软件出海新局面,用友BIP让AI应用在全球落地

用友BIP

硬盘性能提升100倍的秘密:看懂顺序I/O的魔力

poemyang

计算机原理 PageCache I/O模型 储存

怎样做监控YashanDB数据库性能与资源使用?

数据库砖家

《大型企业数智化》图书即将发布!

用友BIP

开源免费!敲敲云APaaS零代码平台,做轻流/明道本地化的平替产品

JEECG低代码

零代码 无代码平台 流程引擎 敲敲云 表单引擎

PPT文件怎么添加视频?3个PPT高级技巧盘点!

职场工具箱

效率工具 PPT 办公软件 AI生成PPT

自控学习历程系列 项目管理经验总结(2)

万里无云万里天

项目管理 工厂运维

混合合成先验增强表格基础模型Mitra

qife122

机器学习 基础模型

企业软件与智能服务迎变革,用友BIP将现新动作

用友BIP

AI突破企业软件能力边界,用友BIP5即将破局发布!

用友BIP

GBIC 2025,大型企业不容错过的双场直播抢先看!

用友BIP

结合YashanDB实现智能告警与运维自动化

数据库砖家

深度学习如何优化某中心包装减废方案

qife122

自然语言处理 深度学习

自控学习历程系列 设备维护经验总结(2)

万里无云万里天

工厂运维

自控学习历程系列 低压电工经验总结(11)

万里无云万里天

工厂运维

自控学习历程系列 过程仪表经验总结(7)

万里无云万里天

工厂运维

ICASSP 2024语音技术前沿论文速览

qife122

人工智能 语音识别

自控学习历程系列 项目管理经验总结(3)

万里无云万里天

项目管理 工厂运维

自控学习历程系列 团队建设经验总结(2)

万里无云万里天

工厂运维

让AI应用落地!大型企业一定要来这场盛会的8个理由

用友BIP

如何轻松编写Rootkit:Linux内核系统调用拦截技术解析

qife122

Linux内核 漏洞挖掘

自控学习历程系列 设备维护经验总结(1)

万里无云万里天

项目管理 工厂运维

手机长焦进化史:攀过十年,终抵云巅

脑极体

终端

结合YashanDB数据库构建多维度数据分析模型

数据库砖家

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