Spring 和 Spring MVC的关系

Spring框架中有很多概念,本文主要是区分一些容易混淆的概念,更方便的去理解和学习Spring框架。

Spring和Spring MVC的关系

Spring

Spring是IOC和AOP的容器框架,SpringMVC是基于Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring。
简单点的话可以将SpringMVC类比于Struts。

Spring可以说是一个管理bean的容器,也可以说是包括很多开源项目的总称,spring mvc是其中一个开源项目,所以简单走个流程的话,http请求一到,由容器(如:tomact)解析http搞成一个request,通过映射关系(路径,方法,参数啊)被spring mvc一个分发器去找到可以处理这个请求的bean,那tomcat里面就由spring管理bean的一个池子(bean容器)里面找到,处理完了就把响应返回回去。

SpringMVC

SpringMVC是一个MVC模式的WEB开发框架;它是Spring的一个模块,通过Dispatcher Servlet, ModelAndView 和 View Resolver,让应用开发变得很容易

Spring是一个通用解决方案, 最大的用处就是通过Ioc/AOP解耦, 降低软件复杂性, 所以Spring可以结合SpringMVC等很多其他解决方案一起使用, 不仅仅只适用于WEB开发

总结

可以理解整个Spring的框架都是基于Spring的 IOC和AOP的,而Spring MVC是Spring家族中的一个模块,主要是用来开发WEB应用,通过核心Dispatcher Servlet来处理请求。

Spring-web 和 Spring-webmvc的关系

  1. MVC 是一种架构分层模式

  2. web MVC 是指在 web 领域下实践的 MVC

  3. Spring MVC 和 Spring Web MVC 是同一个东西,就是 Spring Framework 里的一个模块。在 Spring Framework 介绍页面 写的是 Spring MVC,然而点进去后具体的描述页面 使用 Spring Web MVC 来称呼,文档里有这么一句话:
    The formal name “Spring Web MVC” comes from the name of its source module spring-webmvc but it is more commonly known as “Spring MVC”.

    所以说正式名称叫 Spring Web MVC,不过大多数人都喜欢叫 Spring MVC。

两者区别
  1. spring-web 提供核心的HTTP集成,包括一些方便的Servlet过滤器,Spring HTTP Invoker,与其他Web框架和HTTP技术(例如Hessian,Burlap)集成的基础结构。

    spring-web的依赖:

    • 序列化技术 protobuf,gson,hession,
    • http 工具 httpclient,okhttp
    • netty 依赖
    • spring 框架依赖 spring-aop,spring-beans,spring-context,spring-core,spring-orm
    • servlet 依赖 javax.servlet-api
  2. spring-webmvc是Spring MVC的一个实现。spring-webmvc依赖spring- web,因此包括它会传递性增加spring-web。您不必spring-web显式添加。
    如果您不使用Spring MVC,但想利用Spring支持的其他与Web相关的技术,则应该仅依赖spring-web。

总结

image-20211121211456497

总结

[外链图片转存中…(img-sAaCON95-1637500727128)]

Spring MVC和Spring Boot都属于Spring,Spring MVC 是基于Spring的一个 MVC 框架,而Spring Boot 是基于Spring的一套快速开发整合包

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值