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

深入了解SpringMVC框架,探究其优缺点、作用以及使用方法 SpringMVC是一种基于Java的Web框架,与Spring框架紧密结合,用于开发具备WebApp特性的Java应用程序。Spring MVCSpring Framework的一部分,因此它具有与Spring框架相同的特性和理念。在本文中,我们介绍了SpringMVC常用的注解,并提供了详细的解释和实例代码。这些注解是SpringMVC必不可少的一部分,掌握它们可以使得开发者更加方便地开发和维护代码。 阅读详情

01 什么是 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 帮你完成了很多底层工作。

02 Spring Boot 还是 Spring MVC?

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

这个问题需要因人而异,如果你是一个开发经验丰富、对 Spring 框架体系产品原理都非常了解的老司机,那不用说,肯定推荐你使用 Spring Boot。

但是如果你是一个经验尚浅,对 Spring 框架体系不是很了解的开发者,过于简化的东西对你来说不见得是一件好事。

简单的背后其实是隐藏了其中的学习曲线,在不需要了解 Spring MVC 原理的情况下就可以使用其进行开发,这叫知其然而不知其所以然,不是正确的学习方式。

Spring Boot 的优点是框架帮你屏蔽了很多底层操作,可以完成快速开发,但任何事情都有两面性。

它屏蔽了底层操作的同时也屏蔽掉了你对于底层原理的理解和学习,假如只会简单的使用框架,一旦遇到较为复杂的问题,一定是一脸懵逼。

因为若不懂原理,是无法解决问题的,你只知道 Spring Boot 自动完成了一些操作,但是对于它究竟完成了哪些操作确实浑然不知的,想想看,这样的方式真的有利于自我提高吗?

除非只想搬一辈子砖,不考虑做一些底层架构或者更深层次的工作。

就好比一个赛车爱好者,如果仅仅是驾驶技术好,那永远只能是个票友;如果想成为真正的高手,一定是需要自己对赛车进行不断地调试改装,直至性能达到车子的极限。

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

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

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

这就是为什么很大一部分程序员都会担忧所谓的三十岁瓶颈期,但是你会发现牛逼的人一直很牛逼,二十多岁牛逼、三十多岁更牛逼,没有什么瓶颈,为什么会有这种差距?

其中有一个很大的原因就是深度学习能力的差别,你永远停留在表面应用层,又怎么能够提高自己深度学习的能力呢,因此很多工作五六年的程序员和刚毕业的学生没有多大区别,无非是砖搬的更快一些而已。

如果不想一直搬砖,如果想提高自己的价值,那就不要只停留在应用层,多去关注应用层下面隐藏的内容,Spring MVC 也是框架,它也屏蔽了很多东西。

这就是我们课程开篇为什么要用 4 篇文章来介绍 Spring IoC 的原因,同时课程中也会带大家自己手写一个 Spring MVC 框架,探究其底层原理。

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

Spring Boot Spring MVC Spring MVC 是一个基于模型-视图-控制器(MVC)模式的 Web 框架,提供了一整套处理 HTTP 请求的工具,包括控制器(Controller)、视图解析(View Resolver)和模型绑定(Model Binding)。 阅读详情

相关推荐

Spring Boot 管理 MVC

一、Spring MVC 自动配置 Spring BootSpring MVC 应用提供了自动配置,下面是官方文档中对于自动配置的介绍: 主要包括了视图解析器、用于视图的渲染、转发与重定向,静态资源的处、类型转化器与格式化器、HTTP 消息转换器、静态主页的支持等。 Spring MVC 自动配置是通过 WebMvcAutoConfiguration 类实现的,如果你去看这个类的源...

点滴记录 2955

spring bootspring mvc简单区别

spring bootspring mvc的区别:1.spring boot更简单,容易上手;2.spring boot对第三方技术进行了很好的封装,提供了大量的第三方接口;3.通过依赖配置,不需要XML等配置文件;4.提供了安全性等特性。...

IT咸鱼圈 2440

Tomcat 与 Spring BootSpring MVC

Tomcat是Java生态中广泛使用的开源Web服务器,作为Servlet容器负责运行Java Web应用,将代码转化为可访问的服务。它支持Servlet和JSP规范,适合中小型项目。SpringBoot通过内嵌Tomcat简化了部署流程,并自动配置DispatcherServlet作为前端控制器,开发者无需直接处理Servlet。SpringMVC是专注于Web层的框架,而SpringBoot是整合了SpringMVC等组件的快速开发工具。

liangshuangeryue的博客 3625

使用Spring MVC框架有哪些优点?

易于集成:Spring MVC框架与其他Spring框架的集成非常容易,例如Spring BootSpring Security、Spring Data等,使得Web应用程序的开发变得更加高效。高性能:Spring MVC框架的性能非常出色,因为它使用了基于注解的控制器、Spring IoC容器、面向切面编程等技术来提高Web应用程序的性能。综上所述,Spring MVC框架是一个功能强大、灵活、易于集成和测试、高性能、安全的Web框架,可以帮助开发人员快速构建可扩展的Web应用程序。

学亮编程手记 2427

蓝牙5.4无线音频传输方案设计与优化

蓝牙技术作为无线音频传输的核心方案,其5.4版本引入的LE Audio标准显著提升了传输效率与音质表现。通过LC3编解码器与低功耗设计,可在保持高音质的同时降低能耗。典型应用场景包括耳机、音箱等消费电子设备,其中UART通信接口与双缓冲机制是实现稳定传输的关键技术。IDC777-1蓝牙模块结合PIC18F87J50微控制器的方案,支持aptX HD等高清协议,实测传输距离达30米,信噪比超过110dB,为工程师提供了可靠的蓝牙音频开发参考。

weixin_34198453的博客 325

Spring MVC】没有Spring MVC,Spring Boot表现得毫无用处? ? ?走进Spring MVC,学习热部署自动运行程序 ! ! !

Spring MVC】没有Spring MVC,Spring Boot表现得毫无用处? ? ?走进Spring MVC,学习热部署自动运行程序 ! ! !

程序员良辰 1328

使用了springboot框架还需要使用spring或者springMVC不?

首先你要明白springboot是个什么东东啊,它本身已经把spring的各个子工程集成进去了,就拿springmvc来说,你之前使用的时候是不是要在web.xml中配置核心的DispatcherServlet,你使用springboot后,这些东西都不需要你去操心了,你只需要引入相关的starter就可以,比如: <dependency> <groupId>org.springframework.boot</groupId> <artifact

我真的睡不够 5661

新人一看就Spring Boot+Spring mvc+Mybatis的基础框架demo

Spring Boot的设计目的是来简化新Spring应用的初始搭建以及开发过程,大大减少了代码量,通过这篇文章你可以清楚的看到。这是一个基于Spring Boot的简单demo,希望读者可以通过这篇文章大概能看这一个简单的框架搭建。后续我会陆续更新,微服务架构Spring BootSpring Cloud)、分布式架构(Dobbo+Zookeeper)、大数据架构以及源码解析等相关的文章,感兴趣的话可以关注一下。

程序员云帆哥的博客 2万+

【备战大厂JAVA面试Spring篇】大白话谈谈SpringSpring MVCSpring Boot 三者的关系,秒

SpringSpringMVCSpringBoot的关系可以形象比喻为「地基」「房子」「精装修」: Spring是基础框架(IoC/AOP),提供核心功能; SpringMVCSpring的Web模块,处理HTTP请求; SpringBoot整合前两者并简化配置,实现开箱即用。 SpringBoot通过自动配置、Starter依赖和内置服务器,让开发者免去繁琐配置,直接专注业务开发。现代开发中,SpringBoot已成为首选,如同买房直接选精装修而非从零搭建。

不朽的博客 745

SpringSpring MVC、Mybatis和Spring boot(知识点总结)

SpringSpring MVC、Mybatis和Spring boot(知识点总结)

qq_43655412的博客 3524

Spring Boot管理Spring MVC

Spring Boot应用中使用Spring MVC时,如果希望在为Spring MVC自动配置提供相关特性的同时,再增加一些自定义的Spring MVC配置,例如添加拦截器、视图控制器等,可以通过自定义WebMvcConfigurer类型的配置类来实现。

daqi1983的博客 1635

Spring BootSpring MVC 有何不同

Spring BootSpring MVC 都是 Spring 框架的一部分,但它们有不同的目标和功能。以下是它们之间的主要区别:1. 核心目标Spring BootSpring Boot 的目标是简化 Spring 应用的配置和部署。它通过提供默认配置和嵌入式服务器(如 Tomcat、Jetty 或 Undert...

Java_fenxiang的博客 1618

Java SpringSpring MVCSpring BootSpring Cloud 的关系与区别

本文详细介绍了 Java 开发中常用的 Spring 系列框架及其关系。Spring 是核心框架,提供控制反转(IoC)和面向切面编程(AOP)等基础功能。Spring MVCSpring 的模块,专注于 Web 开发,采用 MVC 设计模式。Spring Boot 简化了 Spring 应用的初始搭建和开发,提供默认配置和嵌入式服务器。Spring Cloud 基于 Spring Boot,扩展了分布式系统开发的能力,提供服务发现、熔断器等功能。这些框架共同构成了强大的 Java 开发生态系统,满足

C_V_Better的博客 1292

Spring BootSpring MVCSpring 有什么区别

Spring 是整个生态的基础,提供了最核心的 IoC 容器、AOP 等功能。Spring MVC 是基于 Spring 的 Web 框架,专门用来处理 HTTP 请求,是 Spring 的一个子模块。而 Spring Boot 是对 Spring 全家桶的封装和自动配置工具,目的是简化开发、统一约定、提升效率。Spring 是基础、Spring MVC 是扩展、Spring Boot 是加速器。

完全体 964

快速搭建Spring Boot+Spring MVC

Spring Boot的出现大大简化了Spring项目的初始搭建和开发过程,今天我们快速搭建一个带有页面渲染(themeleaf模板引擎)的Spring Boot环境。 一、首先我们在IDEA中创建一个Maven项目 勾选create from archetype,选择webapp 二、在pom文件中添加Spring Boot依赖和themeleaf依赖       org.s

theonlytao的博客 1万+

Spring MVCSpring Boot 的差异到底在哪?

本文深入对比了传统SpringMVCSpringBoot的核心差异。作者结合开发经验,从配置方式(XML到自动配置)、依赖管理(手动引入到Starter)、部署模式(外置Tomcat到内嵌容器)、外部化配置等方面进行剖析,指出SpringBoot通过自动配置砍掉了80%的模板代码,但同时也可能带来配置冲突等问题。文章强调SpringBoot并非替代SpringMVC,而是其"脚手架",底层仍依赖DispatcherServlet等核心组件。

572
上一篇: 如此Fun的代码注释,原来程序员都是段子手
下一篇: 7点建议助您写出优雅的Java代码
Javaesandyou
博客等级 码龄5年 732粉丝 564原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值