Spring、SpringMVC、SpringBoot的区别

1、springboot起源:

Spring 最初利用"工厂模式"(DI)和"代理模式"(AOP)解耦应用组件,大家觉得挺好用。于是又按照这种模式搞了一个 MVC框架(一些用Spring 解耦的组件),用开发 web 应用( SpringMVC )。之后发现每次开发都写很多样板代码,为了简化工作流程,于是开发出了一些"懒人整合包"(starter),这套就是 Spring Boot。

2、springboot整合了什么:

Spring、SpringMVC、SpringData,其中,SpringData主要可以支持Jackson, JDBC, Mongo, Redis,这些第三方库可以实现开箱即用。

3、Spring、SpringMVC、SpringBoot的区别

1、Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop,其中ioc 提供了依赖注入的容器 ,aop 解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。

2、SpringMVC是框架,是项目中实际运行的代码。

Spring MVC提供了一种轻度耦合的方式来开发web应用。

Spring MVC是Spring的一个模块,是一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发------URL路由、Session、模板引擎、静态Web资源等等。

3、springboot是一个配置整合工具,辅助项目开发的工具。

Spring Boot实现了自动配置,降低了项目搭建的复杂度。

众所周知Spring框架需要进行大量的配置,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框架,那么springboot和springmvc工作流程相同,因为这部分工作是Spring MVC做的而不是Spring Boot。

对使用者来说,换用Spring Boot以后,项目初始化方法变了,配置文件变了,另外就是不需要单独安装Tomcat这类容器服务器了,maven打出jar包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。

所以,用最简练的语言概括就是:

Spring 是一个"引擎";

Spring MVC 是基于Spring的一个 MVC 框架;

Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。

文章转自:https://blog.csdn.net/u012994320/article/details/88583627

相关推荐
寒秋花开曾相惜8 小时前
(学习笔记)第四章 处理器体系结构
linux·网络·数据结构·笔记·学习
一 乐9 小时前
电影院|基于springboot + vue电影院购票管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·电影院购票管理管理系统
恼书:-(空寄9 小时前
JVM GC 日志分析 + 常见 GC 场景 + 实战参数调优
java·jvm
消失的旧时光-194310 小时前
Spring Boot 实战(五):接口工程化升级(统一返回 + 异常处理 + 错误码体系 + 异常流转机制)
java·spring boot·后端·解耦
LN花开富贵10 小时前
【ROS】鱼香ROS2学习笔记二
linux·笔记·python·学习·嵌入式
ouliten11 小时前
C++笔记:std::invoke
c++·笔记
杨凯凡11 小时前
【012】图与最短路径:了解即可
java·数据结构
比特森林探险记11 小时前
【无标题】
java·前端
椰猫子11 小时前
Javaweb(Filter、Listener、AJAX、JSON)
java·开发语言
朝新_12 小时前
【Spring AI 】核心知识体系梳理:从入门到实战
java·人工智能·spring