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应用程序框架。

相关推荐
一只叫煤球的猫7 小时前
手撕@Transactional!别再问事务为什么失效了!Spring-tx源码全面解析!
后端·spring·面试
赤橙红的黄8 小时前
自定义线程池-实现任务0丢失的处理策略
数据库·spring
小时候的阳光9 小时前
SpringBoot3 spring.factories 自动配置功能不生效?
spring boot·spring·失效·factories·imports
张小洛11 小时前
Spring IOC容器核心阶段解密:★Bean实例化全流程深度剖析★
java·后端·spring·ioc容器·bean实例化
非ban必选12 小时前
spring-ai-alibaba官方 Playground 示例
java·人工智能·spring
要开心吖ZSH13 小时前
《Spring 中上下文传递的那些事儿》Part 2:Web 请求上下文 —— RequestContextHolder 与异步处理
java·spring
master-dragon14 小时前
spring-ai 工作流
人工智能·spring·ai
考虑考虑14 小时前
使用jpa中的group by返回一个数组对象
spring boot·后端·spring
ithadoop15 小时前
Spring生态:云原生与AI的革新突破
人工智能·spring·云原生
chanalbert16 小时前
Spring 6 源码深度掘金:66+核心原理与高频面试攻坚指南
python·spring·面试