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

相关推荐
Sirens.5 分钟前
Java核心概念:抽象类、接口、Object类深度剖析
java·开发语言·github
Meteors.5 分钟前
23种设计模式——中介者模式 (Mediator Pattern)详解
java·设计模式·中介者模式
望获linux7 分钟前
【实时Linux实战系列】使用 u-trace 或 a-trace 进行用户态应用剖析
java·linux·前端·网络·数据库·elasticsearch·操作系统
焰火199914 分钟前
[Java]基于Spring的轻量级定时任务动态管理框架
java·后端
Seven9722 分钟前
Springboot 常见面试题汇总
java·spring boot
程序员阿鹏32 分钟前
49.字母异位词分组
java·开发语言·leetcode
云中隐龙41 分钟前
mac使用本地jdk启动elasticsearch解决elasticsearch启动时jdk损坏问题
java·elasticsearch·macos
CodeLongBear42 分钟前
苍穹外卖 Day12 实战总结:Apache POI 实现 Excel 报表导出全流程解析
java·excel
爱学习 爱分享1 小时前
mac idea 点击打开项目卡死
java·macos·intellij-idea
漠北七号1 小时前
有加密机,电脑贼卡顿怎么办
java