当前位置: 首页 > news >正文

系列十三、SpringBoot的自动配置原理分析

一、概述

        我们知道Java发展到现在功能十分的强大,生态异常的丰富,这里面离开不了Spring及其家族产品的支持,而作为Spring生态的明星产品Spring Boot可以说像王者一般的存在,那么的耀眼,那么的光彩夺目!那么它凭什么这么强大呢? 这就不得不说到Spring Boot的自动配置原理了,可以这么说,Spring Boot之所以这么强大,就是因为有自动配置的加持它才这么强大的,那么它的自动配置原理是怎样的呢?请看下图分析:

二、原理

        1、SpringBoot有一个主启动类,主启动类上标注了@SpringBootApplication注解,而@SpringBootApplication又是一个复合注解,引入了@EnableAutoConfiguration注解(负责开启自动配置功能);

        2、@EnableAutoConfiguration引入了@Import注解

        3、Spring容器启动会加载IOC容器,加载IOC容器时会解析@Import注解;

        4、@Import注解导入了一个AutoConfigurationImportSelector(实现了延迟导入选择器,会使SpringBoot的自动配置类的加载顺序在最后,这样方便我们覆盖和扩展);

        5、读取所有/META-INF/spring.factories中的文件信息;

6、过滤出所有xxxAutoConfiguration类型的类

7、最后再通过@ConditionalOnXXX排除无效的自动配置类

http://www.lryc.cn/news/252997.html

相关文章:

  • soapui报错: CXF directory must be set in global preferences
  • Netty02-基础概念
  • 计算机毕业设计 基于SpringBoot的敬老院管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 精调llama模型
  • 【C语言】深入理解C语言中的数学运算和类型转换
  • 基于javaweb的宠物服务商城系统设计与开发
  • LeetCode-470. 用 Rand7() 实现 Rand10()【数学 拒绝采样 概率与统计 随机化】
  • 通达信指标公式19:龙虎榜股票池——主力控盘度的计算方法
  • 手搓图片滑动验证码_JavaScript进阶
  • Linux服务器超级实用的脚本
  • IntelliJ IDEA安装使用教程#intellij idea
  • 【组合数学】容斥鸽巢原理
  • 视频后期特效处理软件 Motion 5 mac中文版
  • 【智能家居】一、工厂模式实现继电器灯控制
  • 第三节:提供者、消费者、Eureka
  • Leetcode刷题详解——等差数列划分
  • 导出主机上所有docker 镜像并导入到其它主机
  • HTML5+CSS3+JS小实例:焦点图波浪切换动画特效
  • Mac电脑如何安装git
  • macOS本地调试k8s源码
  • JS 实现一键复制文本内容
  • 【Linux】echo命令使用
  • Day03 嵌入式---中断
  • wpf devexpress 使用IDataErrorInfo实现input验证
  • shell_81.Linux在命令行中创建使用函数
  • 鱼香ROS一键安装命令(支持微信、docker、ros等)
  • 深入理解 Go 函数:从基础到高级
  • 开启三层交换机DHCP服务
  • jspdf+html2canvas浏览器缩放问题
  • 西南科技大学模拟电子技术实验六(BJT电压串联负反馈放大电路)预习报告