免费下载!由 O’Reilly 出版的《NGINX 完全指南》中文版已正式上线 了解详情
写点什么

Spring 针对 Java 8 升级

  • 2014-04-17
  • 本文字数:1192 字

    阅读完需:约 4 分钟

Java 8 刚刚在几周前的 3 月 18 日发布。几天后,Spring Framework 项目负责人 Jeurgen Hoeller 发表了题为《企业项目中的 Java 8 》的文章。文中,他指出,那些著名的 Java EE 应用服务器如何不允许轻松升级。

对于 Java EE 服务器,升级时通常有一个突出问题,就是绑定了 JDK 版本。对于 WebSphere,即使是在 WAS 8.5 上,默认的 JDK 版本仍然是 Java 6,Java 7 只是一个可选项。对于 WebLogic,最近的版本已经更坚决地基于 Java 7。然而,两者均不允许用户自由选择使用哪一代 JDK。

由于应用服务器技术栈通常与特定的 JDK 版本紧密集成,所以简单地使它运行在不同的 JDK 安装上并不可取。当代的应用服务器甚至不可能承受在 Java 8 上启动一次冒烟测试。

Hoeller 继续写道,对于希望快速采用 Java 8 的开发人员而言,那些使用 Tomcat 和 Jetty 的项目更有优势。

在这点上,像 Tomcat 和 Jetty 这样的瘦 Web 应用服务器有明显的优势,因为它们不依赖于任何 JDK 版本的规范。Tomcat 8 和 Jetty 9 已经在 OpenJDK 8 上测试了半年,而且已经广泛宣布兼容 Java 8。甚至 Tomcat 7 也加入了该俱乐部,得到一个经过升级的 Eclipse 编译器。

因此,对于 Java 8,Tomcat 和 Jetty 都将自己描述为当前有质量保障的产品选项。

他在总结时提醒用户,特定的框架和库需要兼容 Java 8。从文章的结尾部分来看,谈到 Java 8, Spring 似乎是“蓄势待发”。

Spring Framework 4 代从一开始就一直按照一种兼容 Java 8 的方式设计。实际上,甚至在 OpenJDK 8 的第一个候选版本发布之前,我们就发布了全面支持 Java 8 开发的 Spring Framework 4.0 GA 版本。

在我们看来,Spring Framework 4 和 Java 8 在许多环境中都是一个完美的组合,不只是 Tomcat、Jetty 或者 WildFly,还有近来的嵌入式引擎,如 Reactor 或 Undertow,以及其它各类用户自定义的应用架构。

六天之后, Spring 4.0.3 发布。它有什么不同?Spring 的这个版本“是用 OpenJDK 8 GA 构建的”,而且“包含了最新的 ASM 5.0.1(同样在 JDK 8 GA 层面支持字节码,取代我们先前惯用的 ASM 4.2 派生)”。除了真正支持 Java 8 之外,Spring 4.0.3 版本还在 WebSocket 方面有许多改进。从我们的审查来看,作为该版本的一部分,它似乎修复了 Prashant Deva 在题为《 Spring 4 Websocket 支持 Bug 要览》的文章中提到的所有问题。

本月初, Spring Boot 发布正式版 Chris Beams 做了一项很棒的工作,展示了如何用 Boot 构建 spring.io 。Pivotal 开发团队一直在不遗余力地支持 Java 8,而且对于 Spring Boot,他们还在推动对其它语言的支持。

关于#Spring Boot 有趣的一面:它不是关于 Java VS. Groovy VS. Scala。它是关于一个成熟的平台 + 你选择的 JVM 语言……

——Oliver Gierke(@olivergierke) 2014 年 4 月 1 日

你尝试用最新版本的 Spring 和 Java 升级应用程序了吗?如果没有,是什么阻止了你?

查看英文原文:**** Spring Updated for Java 8

2014-04-17 23:244188
用户头像

发布了 256 篇内容, 共 77.3 次阅读, 收获喜欢 11 次。

关注

评论

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

【设计模式】总览

Andy阿辉

编程 程序员 设计模式 23种设计模式

优化和调整Spark应用程序(七)

数据与智能

spark 缓存 持久化

统一语言 = 领域模型 ?

escray

学习 极客时间 7月日更 如何落地业务建模

深度解析 Lucene 轻量级全文索引实现原理

vivo互联网技术

lucene 检索 索引技术

数字化转型下的数字经济新发展

CECBC

【设计模式】抽象工厂

Andy阿辉

编程 程序员 设计模式 23种设计模式 编程思想

Rust从0到1-并发-可扩展性

rust 并发 sync Concurrency send

Vue进阶(十六):vue项目结构启动原理详解

No Silver Bullet

Vue 7月日更 启动原理

Pandas高级教程之:稀疏数据结构

程序那些事

Python 数据分析 pandas 程序那些事 稀疏矩阵

网易传媒数据指标体系建设实践

网易数帆

大数据 数据仓库 指标体系

bash: docker-compose: 未找到命令

阿呆

Docker-compose

Linux之du命令

入门小站

Linux

区块链技术如何赋能食品安全链路追溯

CECBC

数字人民币的基础:共识与信任

CECBC

在线XML转HTML工具

入门小站

工具

【Flutter 专题】81 图解 Android Native 集成 FlutterBoost 小尝试 (三)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

【LeetCode】滑动窗口的最大值Java题解

Albert

算法 LeetCode 7月日更

架构实战营 模块二作业

脉醉

#架构实战营

重磅消息!写给安卓软件工程师的3条建议

欢喜学安卓

android 程序员 面试 移动开发

重磅来袭!全网最具深度的三次握手、四次挥手讲解

欢喜学安卓

android 程序员 面试 移动开发

抖音霸屏系统软件开发

获客I3O6O643Z97

大数据 抖音霸屏

JIRA 链接 bitbucket 提示错误 Invalid OAuth credentials

HoneyMoose

架构训练营模块二作业

Lemon

Python OpenCV 图像处理再循环,第一阶段复盘

梦想橡皮擦

7月日更

华为云MVP周峥:气象预报是个技术活,大数据、超算、AI,缺一不可

华为云开发者联盟

人工智能 大数据 环保 气象 超算

【设计模式】工厂模式

Andy阿辉

编程 程序员 设计模式 23种设计模式

Vue进阶(六十二):理解$nextTick()

No Silver Bullet

Vue 7月日更 nextTick

赋能中小银行数字营销:索信达助力深圳农商行建设标签系统

索信达控股

金融 银行 用户标签

基于RNN和CTC的语音识别模型,探索语境偏移解决之道

华为云开发者联盟

语音 RNN ASR CTC 语音识别模型

Nginx配置location

刘旭东

nginx 反向代理

HCIA-HarmonyOS Application Developer 应用方向认证资料

爱吃土豆丝的打工人

HarmonyOS HCIA认证 应用开发方向

Spring针对Java 8升级_DevOps_Matt Raible_InfoQ精选文章