当前位置: 首页 > news >正文

Spring、SpringMVC、Springboot三者的区别和联系

1.背景

最近有人问面试的一个问题:Spring、SpringMVC、Springboot三者的区别和联系,个人觉得:万变不离其宗,只需要理解其原理,回答问题信手拈来。

2.三者区别和联系

2.1 先了解Spring基础

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

2.2 三者的演进关系

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

2.3 三者的区别

  • Spring 是一个“引擎”;
  • Spring MVC 是基于Spring的一个 MVC 框架;
  • Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。
http://www.lryc.cn/news/334922.html

相关文章:

  • 一点点安全资料:网络安全扩展
  • vscode的源码插件GitHub Repositories
  • 如何定义快速开发平台框架?有何突出优势?
  • 二分练习题——奶牛晒衣服
  • python工具包【1】 -- 不同操作系统路径转换
  • JAVA中@FunctionalInterface 注解使用
  • 【Spring Cloud Alibaba】9 - OpenFeign集成Sentinel实现服务降级
  • Chrome浏览器如何跟踪新开标签的网络请求?
  • html写一个登录注册页面
  • Stable Diffusion|Ai赋能电商 Inpaint Anything
  • 启明智显M系列--工业级HMI芯片选型表
  • C语言面试题之最小高度树
  • 【随笔】Git 高级篇 -- 整理提交记录(上)cherry-pick(十五)
  • 上门服务小程序|上门服务系统|上门服务软件开发流程
  • Vuex(vue 项目中实现 频繁、大范围数据共享的技术方案)
  • 【Spring Cloud】服务容错中间件Sentinel入门
  • 算法刷题记录 Day36
  • 面试必问 - CSS 中元素居中小技巧
  • Chatgpt润色论文
  • 51单片机实验02- P0口流水灯实验
  • 使用git 和 github协作开发
  • DataX,MongoDB数据导入hdfs与mysql
  • 【OpenCV-颜色空间】
  • 电脑硬盘分区表的两种格式:MBR 和 GPT
  • kafka 常用非基础的核心设置项
  • 杂谈 EV之我见
  • 白色磨砂质感html5页源码
  • sqlite建立数据库
  • HTML5标签(网页编程)
  • RabbitMQ小记