前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >有了 Spring Boot,为什么还要学 Spring MVC?

有了 Spring Boot,为什么还要学 Spring MVC?

作者头像
CSDN技术头条
发布2019-11-19 15:35:55
4990
发布2019-11-19 15:35:55
举报
文章被收录于专栏:CSDN技术头条CSDN技术头条

01

有了 Spring Boot,为什么还要学 Spring MVC

最近我在 GitChat 平台上写了一门 Spring MVC 的课程(《Spring MVC 实战手册》),得到了大家的支持,非常感谢。但同时也有读者问我,现在流行的是 Spring Boot,为啥还要学 Spring MVC 呢?相信这也是很多读者的疑问,下面就来谈谈为什么要学 Spring MVC。

02

什么是 Spring Boot

首先,Spring Boot 是现在比较流行的框架,可以实现快速开发,包括我自己也在用它开发项目。其优点是简化了 Spring 相关组件的配置,实现自动配置,降低了项目搭建的复杂度,使开发变得更加简便,从而提升开发效率。Spring Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。

Spring Boot 并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。同时它集成了大量常用的第三方库配置,如 Jackson、JDBC、Mongo、Redis、Mail 等,Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的 Spring Boot 应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

也就是说,Spring Boot 只是起到一个承载的作用,辅助你简化项目搭建的过程。如果承载的是 Web 项目,使用 Spring MVC 作为 MVC 框架,那么整个业务工作流程还是由 Spring MVC 来完成的,因此 Spring Boot 并不能替代 Spring MVC,它只是简化了 Spring MVC 的相关配置,Spring Boot 帮你完成了很多底层工作。

03

Spring Boot 还是 Spring MVC

这里你可以能会有这样的疑问,既然使用 Spring Boot 可以简化 Spring MVC 的配置,开发起来更加快捷方便,那就用它就好了,为什么要学 Spring MVC 呢,为什么要放着简单的东西不用,非要去用复杂的东西呢?

这个问题需要因人而异,如果你是一个开发经验丰富、对 Spring 框架体系产品原理都非常了解的老司机,那不用说,肯定推荐你使用 Spring Boot。但是如果你是一个经验尚浅,对 Spring 框架体系不是很了解的开发者,过于简化的东西对你来说不见得是一件好事,简单的背后其实是隐藏了其中的学习曲线,在不需要了解 Spring MVC 原理的情况下就可以使用其进行开发,这叫知其然而不知其所以然,不是正确的学习方式。

Spring Boot 的优点是框架帮你屏蔽了很多底层操作,可以完成快速开发,但任何事情都有两面性,它屏蔽了底层操作的同时也屏蔽掉了你对于底层原理的理解和学习,假如只会简单的使用框架,一旦遇到较为复杂的问题,一定是一脸懵逼,因为若不懂原理,是无法解决问题的,你只知道 Spring Boot 自动完成了一些操作,但是对于它究竟完成了哪些操作确实浑然不知的,想想看,这样的方式真的有利于自我提高吗?除非只想搬一辈子砖,不考虑做一些底层架构或者更深层次的工作。

就好比一个赛车爱好者,如果仅仅是驾驶技术好,那永远只能是个票友;如果想成为真正的高手,一定是需要自己对赛车进行不断地调试改装,直至性能达到车子的极限。那如果连汽车的结构都不了解,只会开车,又怎么能完成车辆的性能优化和改装呢,因此,不但要驾驶技术一流,还要懂得赛车的内部原理,才能成为真正的老司机。

写代码也是一样,如果仅仅停留在使用快速开发框架完成项目,而不去钻研探究底层原理的话,永远也不会有质地提高,只会调方法堆逻辑。在没有夯实底层体系的情况下,一味追求敏捷高效,欲速则不达。

04

深度学习能力决定你的高度

这就是为什么很大一部分程序员都会担忧所谓的三十岁瓶颈期,但是你会发现牛逼的人一直很牛逼,二十多岁牛逼、三十多岁更牛逼,没有什么瓶颈,为什么会有这种差距,其中有一个很大的原因就是深度学习能力的差别,你永远停留在表面应用层,又怎么能够提高自己深度学习的能力呢,因此很多工作五六年的程序员和刚毕业的学生没有多大区别,无非是砖搬的更快一些而已。

如果不想一直搬砖,如果想提高自己的价值,那就不要只停留在应用层,多去关注应用层下面隐藏的内容,Spring MVC 也是框架,它也屏蔽了很多东西,这就是我们课程开篇为什么要用 4 篇文章来介绍 Spring IoC 的原因,同时课程中也会带大家自己手写一个 Spring MVC 框架,探究其底层原理。

当然,无论是 Spring Boot 还是 Spring MVC,包括 Java 语言本身在整个体系中都是应用层的东西,所以一直提倡大家去学习数据结构算法、计算机原理,包括计算机网络,只有底层架构扎实了,才会拔得更高,这是一种思维模式。

如果想更多了解 Spring MVC 的底层原理,学习探究框架底层原理的方法,可以来学习《Spring MVC 实战手册》课程。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GitChat精品课 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档