zoukankan
html css js c++ java
SpringBoot高级-自动配置之@EnableAutoConfiguration注解
前言:通过之前的自动配置原理相关介绍的文章,我们对自动配置的流程大概都很清楚了,这里我们对 @EnableAutoConfiguration 注解的实现流程进行跟踪,发掘源码中实现的原理。
一、查看@EnableAutoConfiguration 注解的定义
二、查看@Import导入的ImportSelector接口实现类 AutoConfigurationImportSelector
三、查看实现类 AutoConfigurationImportSelector 的 selectImports() 方法
四、查看 selectImports() 方法,发现其调用了 getAutoConfigurationEntry() 方法
五、查看 getAutoConfigurationEntry() 方法, 发现其调用了 getCandidateConfigurations() 方法
六、查看 getCandidateConfigurations() 方法
断点调试,发现list对象configurations会有117个元素,这些元素就是Bean对象的全限定类名,通过对象的全限定类名将Bean初始化到IOC容器中
在断言中,有一段提示信息"No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct."
找到 spring.factories 文件的位置
打开该文件,注意“”的使用说明。列表中,就有我们熟悉 RestTemplateAutoConfiguration、EmbeddedWebServerFactoryCustomizerAutoConfiguration 等自动配置类
最后,打开一个EmbeddedWebServerFactoryCustomizerAutoConfiguration 看一看
小结:虽然由于@EnableAutoConfiguration 注解的使用,初始化了spring.factories文件列表中的配置类,但是这些配置类中,使用了Condition条件,必须满足Condition条件,才能最终将Bean初始化。
查看全文
相关阅读:
windows系统桌面美化
Jenkins 显示语言-英文切换中文
Jenkins 任务定时
Jenkins 结合 ANT 发送测试报告
ANT 的使用
虚拟机与主机之间文件传输
【译】使用WebDriver采样器将JMeter与Selenium集成
Newman基本使用
autoIt中文手册
selenium控制超链接在当前标签页中打开或重新打开一个标签页
原文地址:https://www.cnblogs.com/elnimo/p/13792568.html
最新文章
长连接的心跳及重连设计
DFS(深度优先搜索遍历求合格条件总数)--07--DFS--蓝桥杯方格填数
DP(动态规划求最大整除子集)-06-动态规划-最大整除子集
DP(动态规划求含有冻结期的买卖股票)-05-动态规划-买卖股票
06--Java--Scanner类读入控制台
04--Java--使用eclipse创建开发java项目步骤
DFS或BFS(深度优先搜索或广度优先搜索遍历无向图)-04-无向图-岛屿数量
DFS(深度优先搜索遍历有向图)-03-有向图-太平洋大西洋水流问题
Dijkstra(迪杰斯特拉求最短路径)-02-有向图-网络延迟时间
贪心-01-买卖最佳股票时机2
热门文章
03--Java--DOS编译运行输出Java,Hi!
02--java--环境搭建
01--java--语言概述
jQuery-01-jQuery选择器及元素操作
JS-09-数组
JS-08-对象
JS-07-函数
JS-06-定时器
JS-05-元素获取
JS-03-数据基本类型与转换
Copyright © 2011-2022 走看看