Spring Boot 2.0版本正式发布,新特性解读
翟永超

写在前面
北京时间 3 月 1 日,经过漫长的等待之后,Spring Boot 2.0 正式发布。作为 Spring 生态中的重要开源项目,Spring Boot 旨在简化创建产品级的 Spring 应用和服务。用户只需要 "run" 就能创建一个独立的,产品级别的 Spring 应用。
一经发布,Spring Boot 就迅速受到了开发者的青睐,到目前为止,它已经有超过 2 万个 Star,1.6 万个 fork(2017 年 GitHub 排名前十)。而 Spring Boot 2.0 的酝酿已有一段时间,从去年 5 月 16 日发布 M1 版本,再到后来的 RC 版本,也已有近 1 年时间。
Spring 2.0 中引入了众多令人激动的新特性,包括支持 Java 9、HTTP/2、基于 Spring 5 构建、强力集成 GSON 等等。为了了解 Spring Boot 的整体发展历史,以及 2.0 中的重要更新,InfoQ 特邀请到 Spring Boot 专家、永辉云创架构师翟永超撰文解读。

Spring 帝国
Spring 几乎是每一位 Java 开发人员都耳熟能详的开发框架,不论你是一名初出茅庐的程序员还是经验丰富的老司机,都会对其有一定的了解或使用经验。在现代企业级应用架构中,Spring 技术栈几乎成为了 Java 语言的代名词,那么 Spring 为什么能够在众多开源框架中脱颖而出,成为业内一致认可的技术解决方案呢?我们不妨从最初的 Spring Framework 开始,看看它为什么能够横扫千军,一统江湖!
挑战权威,一战成名
2004 年 3 月,Spring 的第一个版本以及其创始人 Rod Johnson 的经典力作《Expert one-on-one J2EE Development without EJB》发布,打破了当时 Java 开发领域的传统思考模式,企业级应用开始走向“轻量化”发展的步伐。
最初的 Spring Framework 1.0 并不像如今的 Spring 那么复杂,但是在该版本中已经包含了 Spring 中最为核心的两大要素:依赖注入(IOC)和面向切面编程(AOP),这两个功能是 Spring 区别于其他优秀框架,并在企业级应用中建立核心地位的关键所在。
很多开发者在初涉 Java 应用的时候很可能会觉得这两个功能的意义并不大,因为不用它们我们依然可以很好的实现业务功能,事实也确实如此,但是随着业务的迭代和开发的深入,复杂多变的需求开始慢慢侵蚀原本“完美”的架构,开发与测试的难度逐步增大,往往在这个时候,我们才体会到了 Spring 的价值。
所以,即便在 Spring 的最初版本中也封装了诸多偏业务型的功能封装,如:邮件发送、事务管理等,但我们要知道真正让企业级应用离不开 Spring 的理由并不是这些与业务直接相关的功能,而是上面所提及的与业务实现毫不相关的两大核心。
由于在初期版本中 Spring 对很多功能性封装并没有今天的 Spring 那么强大,所以很长一段时间,我们都采用了 Spring 做工程管理来整合其他更优秀的功能型框架来完成系统开发的架构模式,比如曾经风靡一时的 Spring + Struts + Hibernate 架构,相信可以勾起一代人的回忆。
优雅灵活,吸粉无数
Spring 在发布并获得业界的普遍认可之后,Spring 开源社区变得异常活跃,除了社区自身不断对 Spring 进行增强之外,其他功能性框架也纷纷对 Spring 进行适配与支持。在随后发布的 Spring 2.x 和 3.x 中,先后支持了 Annotation 的优雅配置方式以及更为灵活的 Java 类的配置,这使得 Spring 在管理 Bean 的配置方式上变得更为多样化。
但是随着 Spring 的深入应用,繁琐的配置问题也开始显现,我们会发现每次在构建项目的时候总是在不断的复制黏贴着一些模版化的配置与代码,有时候我们只是想实现几个很简单的功能,结果配置内容远大于业务逻辑代码的编写;同时,在框架整合过程中,对于一些共同依赖的 Jar 包存在着潜在的冲突风险,使得一些复杂的整合任务变得困难起来。所以,Spring 的“轻量级”在其他动态语言面前就显得不那么轻了。
轮子大师,前途未卜
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结

Spring Boot 2.0版本正式发布,带来了众多令人激动的新特性,包括对Java 9的支持、HTTP/2、基于Spring 5构建、强力集成GSON等。Spring Boot作为Spring生态中的重要开源项目,旨在简化创建产品级的Spring应用和服务。该项目备受开发者青睐,拥有超过2万个Star和1.6万个fork。文章介绍了Spring Boot 2.0的重要特性,包括对Java版本要求的变化、依赖组件的升级、依赖重组和配置重定位等方面。同时,文章也提到了升级到Spring Boot 2.0的必要性和注意事项,以及对于原有功能的支持并没有抛弃的观点。总的来说,Spring Boot 2.0的发布意味着Spring Cloud Finchley离正式发布又近了一步,为开发者带来更多令人兴奋的内容。
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论