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的条件注册的一套快速开发整合包。

相关推荐

  1. Spring、SpringMVC、Springboot三者区别联系

    2024-04-09 07:50:03       45 阅读
  2. SQL、Hive中SQLSpark中SQL三者联系区别

    2024-04-09 07:50:03       59 阅读
  3. UDPTCP区别联系

    2024-04-09 07:50:03       45 阅读
  4. HTTPHTTPS区别联系

    2024-04-09 07:50:03       31 阅读
  5. typedef define 区别联系

    2024-04-09 07:50:03       26 阅读
  6. Spring MVC、Spring BootSpring Cloud 三者区别联系

    2024-04-09 07:50:03       25 阅读
  7. haproxykeepalived区别联系

    2024-04-09 07:50:03       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 07:50:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 07:50:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 07:50:03       82 阅读
  4. Python语言-面向对象

    2024-04-09 07:50:03       91 阅读

热门阅读

  1. 从输入URL到页面渲染的全过程详解

    2024-04-09 07:50:03       37 阅读
  2. 链表实现学生管理系统

    2024-04-09 07:50:03       41 阅读
  3. jenv实现mac下多版本jdk管理以及切换

    2024-04-09 07:50:03       34 阅读
  4. vue页面跳转过渡动画与防止抖动

    2024-04-09 07:50:03       37 阅读
  5. 独角数卡切换英文界面并集成Stripecheckout记录

    2024-04-09 07:50:03       33 阅读
  6. 详解Oracle数据库增量备份和不完全恢复

    2024-04-09 07:50:03       36 阅读
  7. vue 的状态库管理

    2024-04-09 07:50:03       41 阅读
  8. Redis分区

    2024-04-09 07:50:03       34 阅读