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

相关推荐
java亮小白199742 分钟前
Spring循环依赖如何解决的?
java·后端·spring
苏-言1 小时前
Spring IOC实战指南:从零到一的构建过程
java·数据库·spring
草莓base2 小时前
【手写一个spring】spring源码的简单实现--容器启动
java·后端·spring
冰帝海岸8 小时前
01-spring security认证笔记
java·笔记·spring
没书读了9 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
代码小鑫12 小时前
A043-基于Spring Boot的秒杀系统设计与实现
java·开发语言·数据库·spring boot·后端·spring·毕业设计
真心喜欢你吖12 小时前
SpringBoot与MongoDB深度整合及应用案例
java·spring boot·后端·mongodb·spring
斗-匕14 小时前
Spring事务管理
数据库·spring·oracle
Doker 多克17 小时前
Spring AI 框架使用的核心概念
人工智能·spring·chatgpt
请叫我青哥20 小时前
第五十二条:谨慎使用重载
java·spring