浅析SpringMVC与Spring Boot的优缺点

Spring Boot 与 Spring MVC各自的优缺点

在这里插入图片描述

Spring MVC是什么?

(1)Spring MVC是Spring提供的一个强大而灵活的模块式web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。

(2)SpringMVC是一种基于Java的以请求为驱动类型的轻量级Web框架,其目的是将Web层进行解耦,即使用“请求-响应”模型,从工程结构上实现良好的分层,区分职责,简化Web开发。
借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。
(3)Spring框架最核心的就是所谓的依赖注射和控制反转。
完全解耦类之间的依赖关系,一个类如果要依赖什么,那就是一个接口。至于如何实现这个接口,这都不重要了。只要拿到一个实现了这个接口的类,就可以轻松的通过xml配置文件把实现类注射到调用接口的那个类里。所有类之间的这种依赖关系就完全通过配置文件的方式替代了。

SpringMVC的优点:

(1)使用简单,学习成本低。

(2)很容易就可以写出性能优秀的程序.

(3)灵活性强,Spring MVC的框架易扩展

SpringMVC的缺点:

(1)Spring与MVC 的Servlet API 耦合,难以脱离容器独立运行

(2)太过于细分,开发效率低

(3)过度追求完美,有过度设计的危险解决的问题领域是:网站应用程序或者服务开发——           URL路由、Session、模板引擎、静态Web资源等等。

Spring Boot 概述

Spring Boot引入自动配置, Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。
也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。
同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。Spring Boot只是承载者,辅助开发者简化项目搭建过程的。如果承载的是WEB项目,使用Spring MVC作为MVC框架,那么工作流程和SpringMVC的是完全一样的,因为这部分工作是Spring MVC做的而不是Spring Boot。

Spring Boot的核心功能:

(1)独立运行的Spring项目

Spring Boot可以以jar包的形式进行独立的运行,使用:java -jar xx.jar 就可以成功的运行项目,或者在应用项目的主程序中运行main函数即可;

(2)内嵌的Servlet容器

内嵌容器,使得我们可以执行运行项目的主程序main函数,并让项目的快速运行;

(3)提供starter简化Manen配置

Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖

(4)自动配置Spring

Spring Boot会根据我们项目中类路径的jar包/类,为jar包的类进行自动配置Bean,这样一来就大大的简化了我们的配置。当然,这只是Spring考虑到的大多数的使用场景,在一些特殊情况,我们还需要自定义自动配置;

(5)应用监控

Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控;

springboot 要解决的问题:

1.如何精简配置;如何让编码、部署、监控变简单;

2.如何方便的让spring生态圈和其他工具链整合

优点:

对新手来说,无需任何门槛,只要懂Maven[的新手]会看文档就能亦步亦趋的开始一个新项目;

对高手来说,改配置也是分分钟的事。另外fat jar的打包方式让部署方式变得优雅。

缺点:

就是简单的背后蕴藏了巨大的学习曲线。入门容易,但是如果没有完整学习spring的体系,碰到问题就一脸懵逼。如果没有一定的经验,根本就不知道springboot自动做了什么。

SpingMVC与SpringBoot的联系与区别:

联系:

Spring 最初利用“工厂模式”( DI )和“代理模式”( AOP )解耦应用组件。按照这种模式搞了一个 MVC 框架(一些用 Spring 解耦的组件),用开发 web 应用( SpringMVC )。后来发现每次开发都要搞很多依赖,写很多样板代码,使代码臃肿而麻烦,于是聪明的前人整理了一些懒人整合包( starter ),这套就是 Spring Boot 。

区别:

Spring MVC 是基于 Servlet 的一个 MVC框架 主要解决 WEB 开发的问题 但关于Spring 的配置比较 ;而Spring boot 的原则是:约定优于配置 ,可以极大地简化了 spring 的配置流程。

有任何疑问和和源码需求敬请关注公众号【蜗牛资源社】

欢迎交流学习!

Spring MVC和Spring Boot是两个常用的Java框架,用于开发Web应用程序。它们有各自的优点和缺点,下面是对它们的介绍: Spring MVC: 优点: 1. 成熟稳定:Spring MVC是一个成熟的框架,已经在许多项目中得到广泛应用。 2. 灵活性:Spring MVC提供了很高的灵活性,可以根据项目需求进行定制和扩展。 3. 易于集成:Spring MVC可以与其他Spring框架(如Spring Security、Spring Data等)无缝集成,提供全面的解决方案。 4. 强大的生态系统:Spring MVC拥有庞大的社区和生态系统,可以轻松获取各种插件和扩展。 缺点: 1. 配置复杂:相对于其他框架,Spring MVC的配置相对复杂,需要编写大量的XML配置文件。 2. 学习曲线较陡峭:对于初学者来说,理解和掌握Spring MVC的概念和工作原理可能需要一些时间和精力。 Spring Boot: 优点: 1. 简化配置:Spring Boot通过自动配置和约定大于配置的原则,大大简化了项目的配置过程。 2. 快速开发:Spring Boot提供了快速开发的能力,可以快速搭建起一个可运行的应用程序。 3. 内嵌服务器:Spring Boot内置了Tomcat、Jetty等常用的Web服务器,无需额外配置即可运行Web应用程序。 4. 微服务支持:Spring Boot对微服务架构提供了良好的支持,可以轻松构建和部署微服务应用。 缺点: 1. 过度封装:Spring Boot的自动配置和约定大于配置的特性可能导致一些开发者对底层细节的掌握不够深入。 2. 约束性较强:由于Spring Boot的约定和规范,可能会限制一些自定义需求的实现。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值