为了账号安全,请及时绑定邮箱和手机立即绑定
慕课专栏

目录

索引目录

趣味剖析Spring5核心原理

原价 ¥ 68.00

立即订阅
01 开篇:在Spring Boot,Spring Cloud大行其道的今天,Spring 过时了吗?
更新时间:2020-05-28 11:33:42
立志是事业的大门,工作是登堂入室的旅程。

——巴斯德

背景

面试官: 能介绍一下 Spring Bean 的生命周期吗?

面试者: 你们还在使用 Spring 吗?现在没有人在用那么老的东西了,都在用 Spring Boot,Spring Cloud 或者 Dubbo。

面试官: 虽然我们也使用 Spring Boot,Spring Cloud 的框架,但 Spring 的掌握必不可少啊,Spring 是基础嘛。

面试者: 使用 Spring 都是老家伙了吧?出去找工作都没有问这些问题。

面试官:???????!!!!

图片描述
随着入行的年头增加,时不时的在编码时被 HR 拉过去充当面试官去面试一些同行,面试的细节就不赘述了。有一点印象特别深刻,随着小伙伴们的年龄越来越年轻化,越来越多的人认为 Spring 已经成为过时的技术,更摧心的是我也成为别人眼中的老家伙了,技术落后了。而这恰恰是我年轻时一直害怕的,进入 IT 这行,我经常督促自己,一直要追踪最新的技术潮流,防止自己变成一个抱着陈旧技术啃的老家伙。Spring 真的过时了吗?Spring Boot 真的踩着 Spring 的尸骨迈上王者之位吗?很多人看到的情况是这样的:

JVM 生态系统 2018 调查报道(来自网络)

有 40% 的受访者选择了 Spring Boot 框架,有 36% 的开发者选择了 Spring MVC,两者使用率相差不大。

图片描述

JVM 生态系统 2018 报告(来自网络)

JVM 生态系统 2020 报告(来自网络)

到 2020 年时 Spring Boot 已经远远超过 Spring MVC,奠定王者之基。

图片描述

JVM 生态系统 2020 报告(来自网络)

从表面上来,Spring 确实是在走下坡路,但真的是这样的吗?我们深入来研究一下。

Spring 是 Spring Boot,Spring Cloud 的基石

我们来看看 Spring 官方给 Spring,Spring Boot,Spring Cloud 的定位:

图片描述

  • Spring:the source for modern java

Spring 框架是 Spring 的基石,Spring 框架为开发 Java 应用程序提供了全面的基础架构支持。它包含一些很好的功能,如依赖注入和开箱即用的模块,如:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test,这些模块缩短应用程序的开发时间,提高了应用开发的效率。

  • Spring Boot — Build anything

Spring Boot 基本上是 Spring 框架的扩展,它消除了设置 Spring 应用程序所需的 XML 配置,为更快,更高效的开发生态系统铺平了道路。

  • Spring Cloud — Coordinate anything

Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。Spring Cloud 并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 Spring Boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

  • Spring Cloud Data Flow— Connect Everything

Spring Data flow 是一个用于开发和执行大范围数据处理其模式包括 ETL,批量运算和持续运算的统一编程模型和托管服务。

从官方的定位来看,我们所说的 Spring 框架(Framework)是学好 Spring boot,Spring cloud 甚至 Java 的底层基础(the source for modern java)。

有人可能认为,既然是底层,应该比较稳定,很少变化,这样想可就错了,Spring 可是代表先进生产力要求,一直在与时俱进的走在时代的前列。

Spring 与时俱进

最新的提交

从 Github上的 comit 来看,Spring Framework 的提交异常活跃,社区反馈又很给力。

图片描述
使用的 Spring 版本(来自网络)

从使用版本来看,超过六成的人使用的是最新版本 5.x。

图片描述
Spring 需求

从招聘的角度来看,高级的职位对 Spring 有深入的需求。某聘网站搜索 Java 高级工程师职位:

图片描述
从上面的损招聘中可以看出来,如果去应聘 Java 开发工程师的岗位,无论是初级开发师,还是有一定经验的中高级开发师,多多少少需要掌握 Spring 框架技术。想要进阶更高级别或者拿到更高的薪水,更需要深入了解它,以便更好地适应企业的开发需求,同时提升自我价值。

总结

使用 Spring Boot 可以简化 Spring 的配置,开发起来更加快捷方便,为什么要学 Spring 框架,放着简单的东西不用,非要去用复杂的东西呢?

任何事情都有两面性,Spring Boot 屏蔽了底层操作的同时也屏蔽掉了你对于底层原理的理解和学习,一旦遇到较为复杂的问题,一定是一脸懵逼。

就好比一个赛车爱好者,如果连汽车的结构都不了解,只会开车,又怎么能完成车辆的性能优化和改装呢,因此,不但要驾驶技术一流,还要懂得赛车的内部原理,才能成为真正的老司机。

故想要学好 Spring Boot 或者 Spring Cloud 等框架,不学好 Spring,相当于缘木求鱼,想要学好,用好 Spring Boot 或者 Spring Cloud,那么 Spring 框架的深入就必不可少!

}
立即订阅 ¥ 68.00

你正在阅读课程试读内容,订阅后解锁课程全部内容

千学不如一看,千看不如一练

手机
阅读

扫一扫 手机阅读

趣味剖析Spring5核心原理
立即订阅 ¥ 68.00

举报

0/150
提交
取消