Spring, Spring Boot 和Spring MVC的关系以及区别

一、Spring

简单来说, Spring 是一个开发应用框架,主打轻量级、一站式、模块化,其目的是用于简化企业级应用程序开发。

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

二、Spring Boot

Spring MVC 是 Spring 的一个子框架,Spring诞生之后,大家觉得很好用,于是按照 MVC 模式设计了一个 MVC 框架 ( 一些用Spring 解耦的组件),主要用于开发WEB应用和网络接口,所以,Spring MVC 是一个Web框架。
Spring MVC 基于 Spring 进行开发的,天生的与 Spring 框架集成,可以让我们更简洁的进行Web层开发, 支持灵活的 URL 到页面控制器的映射,提供了强大的约定大于配置的契约式编程支持, 非常容易与其他视图框架集成,如 Velocity、FreeMarker 等。

三、Spring MVC

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

相关推荐
Flittly2 小时前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
人活一口气7 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
咖啡八杯19 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
Java陈序员1 天前
企业级!一个基于 Java 开发的开源 AI 应用开发平台!
spring boot·agent·mcp
杨运交1 天前
[041][公共模块]分布式唯一ID生成器设计与实现:一款灵活可扩展的雪花算法框架
spring boot
Flittly2 天前
【AgentScope Java新手村系列】(14)人机交互
java·spring boot·spring
Flynt3 天前
从Spring Boot 4.0升到4.1,我在Maven和gRPC上栽了跟头
java·spring boot·后端
掉鱼的猫4 天前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
人活一口气5 天前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
唐青枫6 天前
Java Spring WebFlux 实战指南:用 Mono、Flux 和 WebClient 写响应式接口
java·spring