Spring Farmework,Spring Boot,Spring MVC 分别是什么?它们的关系又是什么?

Spring Framework是一个综合性的Java开发框架,提供了一系列的模块和功能来简化企业级应用程序的开发。Spring框架包括IoC(Inversion of Control)容器、AOP(Aspect-Oriented Programming)支持、数据访问、事务管理、模型-视图-控制器(MVC)等功能。

1. Spring Farmework:

**用途:**Spring 是一个开发应用框架,提供基础设施支持,用于开发Java应用程序。

主要模块:

  • Spring Core(Spring核心): 提供IoC容器和依赖注入功能,使开发者能够更容易地管理组件之间的关系和依赖。

  • Spring AOP: 提供面向切面编程的支持,允许将横切关注点(如日志记录、事务管理)模块化,提高代码的模块化和可维护性。

  • Spring Data Access: 包括对JDBC、ORM(Object-Relational Mapping)框架(如Hibernate)等的支持,简化了数据访问层的开发。

  • Spring Transaction Management: 提供声明式事务管理的支持,简化了事务的配置和管理。

  • Spring MVC: 是Spring框架中的Web模块,提供了一种基于模型-视图-控制器设计模式的Web应用程序开发方式。


2. Spring Boot:

**用途:**Spring Boot 是对 Spring的封装,为了简化 Spring 应用开发,在中小型企业没有成本研究自己的框架,使用 Spring Boot 就能快熟搭建框架,减低开发成本,让开发人员更加专注于 Spring应用的开发,无需过多关注XML的配置和一些底层实现。

特点:

  • 约定优于配置: 通过默认值和约定进行快速开发,无需大量配置。
  • 嵌入式服务器: 包括嵌入式服务器(如Tomcat、Jetty),可将应用程序部署为独立的JAR文件。
  • 自动配置: 根据项目依赖自动配置组件。

3. Spring MVC

**用途:**Spring框架中的一个模块,用于构建遵循MVC设计模式的Web应用程序。

特点:

  • DispatcherServlet: 处理HTTP请求并管理将控制权传递到适当控制器的流程。
  • 控制器: 处理用户输入,处理请求并返回适当的模型和视图的组件。
  • ViewResolver: 将逻辑视图名称解析为实际视图。

Spring Boot 是基于 Spring 框架的一个子项目,用于简化 Spring 应用程序的搭建和开发。Spring Boot 通过提供一些默认配置和约定大于配置的原则,使得开发者能够更快速地搭建和部署 Spring应用,减少了繁琐的配置工作。Spring Boot 中集成了一些常用的库和工具,同时提供了自动化的配置。

在Spring框架中,Spring MVC 是用于构建 Web 应用程序的模块。它通过提供一个MVC架构,使得开发者能够更容易地组织和管理Web应用程序的代码。Spring Boot则可以用来简化Spring MVC应用程序的开发和部署。

简而言之,关系可以总结为:

  • Spring Framework(Spring框架): 提供了全面的Java开发框架,包括IoC容器、AOP、数据访问、事务管理等。

  • Spring Boot: 是Spring框架的子项目,旨在简化Spring应用程序的搭建和开发,提供默认配置和约定大于配置的特性。

  • Spring MVC: 是Spring框架中的Web模块,用于构建基于MVC设计模式的Web应用程序。在Spring Boot中,可以使用Spring MVC来构建Web应用。

Spring Boot 和Spring MVC 都属于 Spring。Spring Boot是基于 Spring 的快熟开发整合包,而Spring MVC 是 基于 Spring 的一个 MVC 模式构建Web应用程序框架。

相关推荐
程序员小凯13 分钟前
Spring MVC 分布式事务与数据一致性教程
分布式·spring·mvc
problc1 小时前
Spring Cloud OpenFeign + Nacos 实战教程:像调用本地方法一样调用远程微服务
spring·spring cloud·微服务
Mu.3871 小时前
初始Spring
java·数据库·spring
超龄超能程序猿3 小时前
Spring AI Alibaba 与 Ollama对话历史的持久化
java·人工智能·spring
hrrrrb3 小时前
【Spring Security】认证(二)
java·后端·spring
cxyxiaokui0014 小时前
🔥不止于三级缓存:Spring循环依赖的全面解决方案
java·后端·spring
珹洺7 小时前
Java-Spring入门指南(二十六)Android Studio下载与安装
java·spring·android studio
cxyxiaokui0017 小时前
JDK 动态代理 vs CGLIB:原理、区别与 Spring AOP 底层揭秘
java·后端·spring
珹洺8 小时前
Java-Spring入门指南(二十五)Android 的历史,认识移动应用和Android 基础知识
android·java·spring
ajsbxi8 小时前
【Redis】缓存读/写操作流程
redis·笔记·spring·缓存·bootstrap