一、SpringBoot概述
SpringBoot的诞生背景可以追溯到对传统Spring框架的改进需求,在过去,使用spring框架构建应用程序需要大量的配置和设置,这无形中层架了开发者的工作量并且,肯能造成一些配置上的错误,因此springboot的目标就是简化spring应用陈旭的开发流程,提供默认配置和约定来减少重复代码,从而加快应用程序的开发速度提高生产力,springboot通过集成各种开发中常用功能库,例如,内嵌服务器,安全性,数据库访问等,使得开发者能够更轻松地构建应用程序。
二、SpringBoot核心思想
SpringBoot框架的核心思想是:约定大于配置(Convention Over Configuration),被约定进行编程,这也是一种软件设计规范,是为了减少软件开发人员自动配置的数量:
-
约定并提供一些推荐的默认配置
-
开发者只要定义好约定之外的配置参数即可
总的来说,Spring Boot致力于简化Spring应用程序的开发流程,提高开发效率,降低学习曲线,并通过提供一致的开发体验来推动微服务架构的发展。
三、SpringBoot的特性
-
独立运行:SpringBoot框架的最大特点就是内嵌了各种容器,包括Tomcat、Jetty、Undertow,所以应用不再需要打成war包部署到tomcat上,可以将应用程序打 包成jar包,所有的依赖都在一个jar包中,使用java -jar命令运行。
-
自动配置:是指springboot提供了一种机制,能够根据项目的依赖、路径、自定义配置等信息,自动化地配置应用程序的各种组件和功能,减少开发者的手动配置工作,简化开发流程。在springboot中自动配置是通过@EnableAutoConfiguration注解和spring,factories配置文件实现的,springboot会自动扫描项目中的各种依赖和配置信息,根据一系列默认配置、条件判断等机制,决定哪些组件需要进行自动配置。
-
简化配置:传统的spring应用中存在各种配置,例如组件中的各种依赖,配置参数等,没有一定的专用功底,去搭建一个spring应用难度还是有的,springboot提供了各种开箱即用的starter,我们只需要导入相应的starter启动器即可,不需要再有其他的配置。
四、SpringBoot的十大核心模块
-
spring-boot:springboot的核心模块,提供了springboot的基本功能和个性。
-
spring-boot-starter:spring boot starter是用于简化依赖和配置的核心模块,包括常用的starter例如springbootstarterweb 用于构建web应用程序
-
spring-boot-autoconfigure:自动配置模块,负责根据应用程序的依赖和配置自动化配置应用程序的各个组件。
-
spring-boot-actuator:监控和管理模块,提供了监控端点用于监控应用程序的运行状况。
-
spring-boot-cli:Spring Boot Command Line Interface,用于通过命令行快速开发Spring Boot应用程序。
-
spring-boot-devtools:开发工具模块,提供了自动重启应用程序、热部署等开发工具。
-
spring-boot-data:数据访问模块,包括Spring Data JPA、Spring Data MongoDB等数据访问库
-
spring-boot-test:测试模块,提供了JUnit、Mockito、Spring Test等测试支持。
-
spring-boot-security:安全模块,提供了Spring Security等安全框架
-
spring-boot-web:Web模块,提供了构建Web应用程序所需的各种工具和功能。
五、SpringBoot、Spring MVC、spring之间的关系
spring-boot-starter-web依赖了spring-webmvc,spring-webmvc又依赖了spring-beans、spring-core等spring底层组件,所以spring还是底层框架,springboot、springmvc只是上层的封装,
-
Spring:
-
Spring是一款主流的Java EE开源框架,旨在简化Java企业级应用的开发难度和缩短开发周期。
-
它提供了IoC(控制反转)和依赖注入原则,通过简化和模块化开发过程,帮助开发者构建灵活、可扩展和可维护的应用程序。
-
Spring框架包含多个模块,提供了IoC容器、AOP(面向切面编程)、JDBC、事务管理以及MVC框架等功能。
-
-
Spring MVC:
-
Spring MVC是Spring框架中的一个模块,提供了一种MVC(Model-View-Controller)架构模式的实现,专门用于Web应用程序的开发。
-
在Spring MVC中,模型代表应用程序的数据和业务逻辑,视图用于数据展示,而控制器负责处理用户请求并调用相应的业务逻辑。
-
Spring MVC提供了一套组件和注解,使得Web应用的构建过程结构清晰、灵活可扩展。它支持RESTful风格的URL映射、数据校验、文件上传等功能,并与Spring框架的其他模块无缝集成。
-
-
SpringBoot:
-
SpringBoot是由Spring团队创建的一个框架,旨在简化Spring应用程序的开发过程。
-
它基于“约定优于配置”的原则,通过自动配置和开箱即用的功能,大大简化了Spring应用的搭建和构建流程。
-
SpringBoot能够快速集成Spring的各个模块,并提供了诸如内嵌Servlet容器、自动化配置管理、健康检测等便利特性。
-
重要的是,SpringBoot并不是用来替代Spring的新框架,而是与Spring框架紧密结合,用于提升开发者的体验。
-