Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习

简介: 本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。

Spring: 简单来说, Spring 是⼀个开发应⽤框架,什么样的框架呢,有这么⼏个标签:轻量级、⼀

站式、模块化,其⽬的是⽤于简化企业级应⽤程序开发

  • Spring的主要功能: 管理对象,以及对象之间的依赖关系, ⾯向切⾯编程, 数据库事务管理, 数据访问, web框架⽀持等.
  • 但是Spring具备⾼度可开放性, 并不强制依赖Spring, 开发者可以⾃由选择Spring的部分或者全部, Spring可以⽆缝继承第三⽅框架, ⽐如数据访问框架(Hibernate 、JPA), web框架(如Struts、 JSF)

注:

  • 有时候我们口头上说的Spring可能是Spring家族,包括SpringBoot、SpringData,SpringMVC等
  • 有时候说的Spring可能说的就是Spring本身,包含众多工具的IOC容器,不包含SpringBoot等内容,就是单纯的Spring,Spring Framework(Spring的全称)

Spring MVC: Spring MVC是Spring的⼀个⼦框架, Spring诞⽣之后, ⼤家觉得很好⽤, 于是按照MVC

模式设计了⼀个 MVC框架(⼀些⽤Spring 解耦的组件), 主要⽤于开发WEB应⽤和⽹络接⼝,所以,

Spring MVC 是⼀个Web框架.

    Spring MVC基于Spring进⾏开发的, 天⽣的与Spring框架集成. 可以让我们更简洁的进⾏Web层 开发, ⽀持灵活的 URL 到⻚⾯控制器的映射, 提供了强⼤的约定⼤于配置的契约式编程⽀持, ⾮常 容易与其他视图框架集成,如 Velocity、FreeMarker等

Spring Boot: Spring Boot是对Spring的⼀个封装, 为了简化Spring应⽤的开发⽽出现的,中⼩型企业,没有成本研究⾃⼰的框架, 使⽤Spring Boot 可以更加快速的搭建框架, 降级开发成本, 让开发 ⼈员更加专注于Spring应⽤的开发,⽽⽆需过多关注XML的配置和⼀些底层的实现.

  • Spring Boot 是个脚⼿架, 插拔式搭建项⽬, 可以快速的集成其他框架进来. ⽐如想使⽤SpringBoot开发Web项⽬, 只需要引⼊Spring MVC框架即可, Web开发的⼯作是 SpringMVC完成的, ⽽不是SpringBoot, 想完成数据访问, 只需要引⼊Mybatis框架即可.
  • Spring Boot只是辅助简化项⽬开发的, 让开发变得更加简单, 甚⾄不需要额外的web服务器, 直接 ⽣成jar包执⾏即可

最后⼀句话总结: Spring MVC和Spring Boot都属于Spring,Spring MVC 是基于Spring的⼀个 MVC 框架,⽽Spring Boot 是基于Spring的⼀套快速开发整合包.

比如较为常见的大学生课设作品,XX管理系统

  • 整体框架是通过SpringBoot搭建的
  • IOC,DI功能是Spring提供的
  • web相关功能是SpringMVC提供的

比如下面这段代码

    这三者专注的领域不同,解决的问题也不一样,总的来说,Spring就像一个大家族,有众多衍生产品,但他们的基础都是Spring,用一张图来表示他们的关系:

🧸欢迎您于百忙之中阅读这篇博客,📜希望这篇博客给您带来了一些帮助,祝您生活愉快!

目录
相关文章
|
4月前
|
前端开发 JavaScript Java
计算机java项目|springboot基于spring框架的电影订票系统
计算机java项目|springboot基于spring框架的电影订票系统
|
4月前
|
存储 缓存 NoSQL
SpringBoot实用开发篇第四章(整合缓存技术)
SpringBoot实用开发篇第四章(整合缓存技术)
|
5月前
|
JSON 前端开发 Java
【SpringBoot实战专题】「开发实战系列」全方位攻克你的技术盲区之Spring定义Jackson转换Null的方法和实现案例
【SpringBoot实战专题】「开发实战系列」全方位攻克你的技术盲区之Spring定义Jackson转换Null的方法和实现案例
101 0
|
5月前
|
XML Java 数据库
SpringBoot最最最常用的注解梳理
SpringBoot最最最常用的注解梳理
39 0
|
Java Spring
Spring Boot入门(二十二) 之 员工添加过程的完善
Spring Boot入门(二十二) 之 员工添加过程的完善
|
5月前
|
Java 数据库连接 Maven
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
61 1
|
XML Java 应用服务中间件
涨薪50%%就因回答对了这题:为什么Spring Boot提倡约定优于配置?
在 Spring Boot 中,通过约定优于配置这个思想,可以让我们少写很多的配置,然后就只需要关注业务代码的编写就行。今天呢,我给大家聊聊为什么SpringBoot提倡约定优于配置。
90 0
接近8000字的Spring/SpringBoot常用注解总结!安排!
@SpringBootApplication 这里先单独拎出@SpringBootApplication 注解说一下,虽然我们一般不会主动去使用它。 注:这个注解是 Spring Boot 项目的基石,创建 SpringBoot 项目之后会默认在主类加上。
|
人工智能 NoSQL Java
SpringBoot实战(十八):签到奖励实现方案
SpringBoot实战(十八):签到奖励实现方案
269 0
|
JavaScript NoSQL 前端开发
基于SpringBoot技术点餐系统的设计与实现(论文+源码)_kaic
饮食行业的发展推动了服务的提升,在线点餐服务模式随之产生。相比于传统点餐,在线点餐更加方便地浏览菜品,挑选菜品,有更好的用餐体验。系统的使用减少了人工成本,方便数据统计,便于提供更优质的服务。 系统选用B/S架构,引入MVC架构思想,使用前后端分离的开发方法。就餐者在前台系统中可以注册和登录,浏览所有餐品,能看到餐品的详情。可以根据不同分类来筛选餐品,搜索框还支持用户输入关键字进行模糊搜索。系统首页展示了推荐餐品、最高人气餐品、最高销量餐品以及最新上架商品。用户登录后,即可进行点餐。把餐品加入购物车,提交支付订单,还能取消订单。用户也可以管理自己的个人信息。商家在后台系统中管理用户、用户角色、