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

相关推荐
立莹Sir1 分钟前
Calendar类日期设置进位问题
java·开发语言
WarPigs21 分钟前
Unity性能优化笔记
笔记·unity·游戏引擎
季鸢1 小时前
Java设计模式之状态模式详解
java·设计模式·状态模式
@yanyu6662 小时前
springboot实现查询学生
java·spring boot·后端
ascarl20102 小时前
准确--k8s cgroup问题排查
java·开发语言
magic 2452 小时前
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
java
爱敲代码的憨仔2 小时前
分布式协同自动化办公系统-工作流引擎-流程设计
java·flowable·oa
纪元A梦3 小时前
分布式拜占庭容错算法——PBFT算法深度解析
java·分布式·算法
卿着飞翔3 小时前
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
java·rabbitmq·java-rabbitmq
陈阿土i3 小时前
SpringAI 1.0.0 正式版——利用Redis存储会话(ChatMemory)
java·redis·ai·springai