Spring 的这十年 - 新年快乐特辑 - 2019 年 12 月 31 日

工程技术 | Josh Long | 2019 年 12 月 31 日 | ...

嗨,各位 Spring 爱好者们,新年快乐!欢迎来到《本周 Spring》又一期,这是特别的一期。通常,在新年之前或之后的第一个帖子中,我都会回顾过去一年中最重要的时刻。今年,鉴于我们即将翻开新篇章,不仅迎来新的一年,更是一个新的十年,我将尽我所能,提炼出 Spring 生态系统在过去十年中最重要、最精彩的部分。我写这篇文章面临的问题不是想不出要提的事情,而是要限制提到的数量!

该从何说起呢?很难相信作为一个社区,我们已经走了这么远。请记住,Spring 最早的代码可以追溯到 2001 年,差不多 19 年前。Spring 的原创作者 Rod Johnson 在这篇博客文章——《Spring 的 18 年中,谈到了 Spring 在过去近二十年的进展。

现在,我们从何开始?

  • Spring Boot - 这个很容易!Spring Boot 正在改变世界。当 Spring 团队在 2013 年发布 Spring Boot 的 0.4 版本时,我们谁都猜不到它会走多远。它是一种基于 Spring 及其支持的 Java 生态系统的有主见的(opinionated)方法,借鉴了 Rails、Grails、Spring Roo 等约定大于配置框架的一些最佳模式,同时不牺牲灵活性。Spring Boot 现在是 JVM 生态系统中迄今为止使用最广泛的 JVM 库,仅次于 Java 本身。所有大规模的在线服务都在使用它。它是在生产环境的烈火中锤炼出来的,最近的工作使其从最高效、最强大的框架之一,转变为性能最好的框架之一。谁知道下一个十年会为 Spring 开发者带来什么,但我敢打赌它会建立在 Spring Boot 的基础之上。
  • Spring Cloud - 如果说 Spring Boot 是一种构建应用程序的有主见的(opinionated)方法,那么 Spring Cloud——它构建在 Spring Boot 之上——就是一种构建注定要用于云的应用(微服务!)的有主见的(opinionated)方法。对于现代应用程序来说,云就是生产环境。Spring Cloud 利用了相同的 Spring Boot 自动配置,并支持一种有主见的(opinionated)应用程序构建方法。
  • Java 8 - Java 8 于 2014 年发布,重振了 JVM。如果说 Spring Boot 还没有让你清楚地认识到 Java 是一个值得押注的生态系统,那么这个版本就板上钉钉了。它表明这个主力生态系统仍充满活力,并引入了大量新的语言和运行时特性。突然间,Java 语法看起来更像它那些更现代的同辈了。Java 8 以及 Java 团队此后采纳的持续交付新特性的思维模式,对我们的生态系统有多重要,怎么强调都不为过。
  • 应用服务器的终结 - 虽然 Spring Boot 并非第一个支持基于 JVM 应用程序替代部署模式的框架,但它是第一个使其流行起来的。它明确表明,我们过去所知的应用服务器已不再重要。当然,你可以在应用服务器中运行 Spring Boot 应用程序,但是……为什么呢?这样做你什么也得不到,反而牺牲了——明显牺牲了——相当多的东西。现在,请记住,Pivotal/VMware 现在是,而且一直都是,最流行的应用服务器 Apache Tomcat 的主要投资者之一,因此应用服务器的终结是一个自我造成的“伤口”。我们对此感到很满意。你可以在 Spring Boot 中将 Apache Tomcat 作为库使用,而且数百万人已经在这样做了。只是你没必要这样做。HTTP 服务器与你的运行时环境不同,这才是它本来的样子。
  • 云原生应用 - Spring Boot 承担了应用服务器的运行时职责,而云则接管了应用服务器永远无法提供的以平台为中心的职责。这两件事——由 Spring Boot 提供支持的智能应用,以及 Cloud Foundry 和 Kubernetes 等智能平台——共同开创了云原生 Java 应用的新纪元,我非常热爱这个话题,甚至为此写了一本书!

好了朋友们,我们已经说了这么多,现在开始吧!

最后,朋友们,一年结束了。在我发布这篇帖子的时候,世界上有些地方已经是元旦了。我想提醒那些还没有跨过日期线的朋友们,不要酒后写代码,也不要酒后驾车。外面很危险。注意安全,如果有一丝疑虑,今晚的庆祝活动后就叫辆车回家。当然,祝愿所有人,无论身在何处,新年快乐!

订阅 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助你加速前行。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅,为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看全部