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

Spring: 简单来说, Spring 是一个开发反转框架, 什么叫反转呢, 有这么几个特征: 轻量级, 一站式, 模块化, 其目的是用于简化企业级应用程序开发。

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

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 是个新手包/脚手架, 快速构建项目, 可以快速集成其他框架等。
  • 比如要使用Spring Boot开发Web项目, 只需要引入Spring MVC模块即可, Web开发的步骤就简化了, 而不是Spring Boot, 想完成数据库访问, 只需要引入Mybatis框架即可
  • Spring Boot只是简化项目开发的, 让开发变得更简单, 甚至不需要额外Web服务器, 直接生成jar包执行即可

对于一个系统来说

  • 整体框架是通过Spring Boot搭建的
  • IoC, DI功能是Spring提供的
  • web相关功能是Spring MVC提供的

最后一句总结: Spring MVC和Spring Boot都属于Spring, Spring MVC是Spring的一个MVC框架 , 而Spring Boot是Spring的一个快速开发集成包

相关推荐
程序员老邢15 小时前
【技术底稿 12】内网统一日志系统 Loki + Promtail 全流程部署(对接 Grafana,监控日志一体化)
java·运维·程序人生·grafana·devops
银河系的一束光15 小时前
使用 IntelliJ IDEA 开发 Java 程序时 , 会遇到以下中文乱码问题 :
java·ide·intellij-idea
Via_Neo15 小时前
判断字符串前缀(26年蓝桥杯JAVA B组)
java·职场和发展·蓝桥杯
XiYang-DING15 小时前
【Java】从源码深入理解HashMap和TreeMap
java·开发语言
若水不如远方15 小时前
一文讲透单点登录原理(SSO):从同域共享到跨域票据
java·后端
不懂的浪漫15 小时前
mqtt-plus 架构解析(七):动态订阅与重连恢复,为什么能走同一条协调路径
java·物联网·mqtt·架构
无巧不成书021815 小时前
Unicode编码机制全解析:从核心原理到Java 实战
java·开发语言·java字符编码·unicode 15.1码点
mu_guang_15 小时前
计算机体系结构3-cache一致性和内存一致性的区别
java·开发语言·计算机体系结构
海兰15 小时前
使用 Spring AI 打造企业级 RAG 知识库第一部分:核心基础
java·人工智能·spring
lingggggaaaa15 小时前
PHP模型开发篇&MVC层&动态调试未授权&脆弱鉴权&未引用&错误逻辑
开发语言·安全·web安全·网络安全·php·mvc·代码审计