首页 > 其他分享 >Spring Boot 介绍

Spring Boot 介绍

时间:2024-04-06 19:04:58浏览次数:15  
标签:SpringBoot Spring Boot 介绍 SPI EnableAutoConfiguration spring 注解

1、SpringBoot 介绍

       用通俗的话讲,SpringBoot 在Spring生态基础上发展而来,它的发现不是取代Spring,是为了让人们更容易使用Spring。

2、相关依赖关系

Spring IOC/AOP => Spring => Spring Boot => Spring Cloud

3、 SpringBoot工作原理

   Spring Boot 在启动时会去依赖的 Starter 包中寻找 resources/META-INF/spring.factories ⽂件, 然后根据⽂件中配置的 Jar 包去扫描项⽬所依赖的 Jar 包。根据 spring.factories 配置加载 AutoConfigure 类,然后根据@Condition注解条件,进行自动配置,并且将Bean注入Spring Context。SpringBoot 项目自动配置实现方式在启动类添加@SpringBootApplication,此注解是

@Configuration、@ComponentScan、@EnableAutoConfiguration组成, 其中 @EnableAutoConfiguration 是实现⾃动配置的⼊⼝,该注解⼜通过 @Import 注解导⼊了 AutoConfigurationImportSelector ,在该类中加载 META-INF/spring.factories 的配置信息。然后筛选 出以 EnableAutoConfiguration 为 key 的数据,加载到 IOC 容器中,实现⾃动配置功能。

4、编写自定义SpringBoot自动配置组件

  要编写SpringBoot 自定义自动配置的组件,就先说一下SPI,SPI英⽂为Service Provider Interface单从字⾯可以理解为Service提供者接口,正如从SPI的名字去理解SPI就是Service提供者接口,很多框架使用了java的SPI 机制。例如Dubbo的扩展实现。Spring Boot通过 ImportSelector 的实现来完成Spring上下⽂的加载,比如@EnableAutoConfiguration这个注解,就会开启EnableAutoConfigurationImportSelector,然后去扫描ETA-INF下的spring.factories,Spring Boot通过 ImportSelector 的实现来完成Spring上下⽂的加载,我们的⾃定义组件都是在 src/main/resources ⽬录下创建⽂件夹 META-INF ,在 META-INF 中创建 spring.factories。如下截图我们以SpringCloud 为例(SpringCloud 各个组件),例如下面截图,

在这⾥⾯定义 EnableAutoConfiguration 、 ApplicationListener 和 BootstrapConfiguration ,都是以键 值对出现,从上面的截图可以看到注解完整的路径名称。@EnableAutoConfiguration,@BootstrapConfiguration都是启动注解,一个引导父容器,一个引导字容器。将不同Class引入Spring 容器。

标签:SpringBoot,Spring,Boot,介绍,SPI,EnableAutoConfiguration,spring,注解
From: https://blog.csdn.net/fangxiang2008/article/details/137224100

相关文章

  • [AIGC] SpringMVC, Filter, Interceptor之间关系详解
    在Web应用开发过程中,我们经常需要处理各样的HTTP请求和响应。在Spring框架中,我们主要借助SpringMVC、Filter和Interceptor来处理这些任务。那么,这三者之间有什么关系,又分别扮演着什么角色呢?本文将带你一探究竟。文章目录什么是SpringMVC,Filter,和Interceptor?Spri......
  • 基于SpringBoot+Vue导师选择管理系统设计和实现(源码+LW+部署讲解)
    博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs......
  • Springboot+Vue宿舍管理系统
    Springboot+Vue宿舍管理系统体验地址见:http://www.cdmzl.cn/index宿舍管理系统的一些主要功能介绍:基本信息管理(完成)学生信息管理:录入、修改和查询学生的基本信息,如姓名、性别、学号、班级、联系方式等。宿舍信息管理:录入、修改和查询宿舍的基本信息,如宿舍号、楼层、房间类......
  • 【包远程安装运行】SpringBoot+Mysql实现的在线兼职实习招聘管理系统源码+运行教程+开
    今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的在线招聘系统,主要实现了在线招聘基本操作流程的全部功能,系统分普通用户、管理员等角色,除基础脚手架外,实现的功能有:管理员:系统管理、职位管理、新闻咨询管理、简历投递管理、在线统计等。普通用户(......
  • 【包远程安装运行】:SpringBoot+Mysql健身房在线预约管理系统源码+运行视频+开发文档(参
    今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的健身房在线预约管理系统,系统分四个角色,管理员,职工、教练、前台用户,各角色功能如下:管理员:系统管理(角色、权限、菜单等)、职工管理、健身会员管理、会员充值管理、健身项目管理、健身百科管理、健身......
  • 【Java程序设计】【C00508】基于(JavaWeb)Springboot的企业车辆管理系统(含论文+PPT)
    基于(JavaWeb)Springboot的企业车辆管理系统(含论文+PPT)项目简介开发环境项目技术运行截图下载源码博主介绍:java高级开发,从事互联网行业十年,已经做了八年的毕业设计程序开发,开发过上千套毕业设计程序,博客中有上百套程序可供参考,欢迎共同交流学习。项目简介开发环境......
  • 【Java程序设计】【C00512】基于(JavaWeb)Springboot的协同过滤的私人诊所管理系统(含论
    基于(JavaWeb)Springboot的协同过滤的私人诊所管理系统(含论文+PPT)项目简介开发环境项目技术运行截图下载源码博主介绍:java高级开发,从事互联网行业十年,已经做了八年的毕业设计程序开发,开发过上千套毕业设计程序,博客中有上百套程序可供参考,欢迎共同交流学习。项目简介......
  • 敏捷转型ADKAR变革管理模型介绍
    敏捷转型ADKAR是一个目标导向的变革管理模型,旨在引导个人和组织实现敏捷转型。该模型由Prosci的创始人JeffHiatt创建,其五个核心成果——认知(Awareness)、渴望(Desire)、知识(Knowledge)、能力(Ability)和巩固(Reinforcement)——构成了敏捷转型的关键步骤。认知(Awareness):在这一阶段,团队......
  • 基于java中的springboot实现海滨体育馆管理系统的设计与实现演示【附项目源码+论文说
    基于springboot实海滨体育馆管理系统的设计与实现演示摘要本基于SpringBoot的海滨体育馆管理系统设计目标是实现海滨体育馆的信息化管理,提高管理效率,使得海滨体育馆管理工作规范化、高效化。本文重点阐述了海滨体育馆管理系统的开发过程,以实际运用为开发背景,基于Spring......
  • 基于java中的springboot框架实现服装销售平台系统【附项目源码+论文说明】
    基于SpringBoot实现服装销售平台系统设计演示摘要随着信息互联网购物的飞速发展,一般企业都去创建属于自己的电商平台以及购物管理系统。本文介绍了“衣依”服装销售平台的开发全过程。通过分析企业对于“衣依”服装销售平台的需求,创建了一个计算机管理“衣依”服装销售平......