一线大牛带你深入解析AutoConfiguration源码( 三 )
@Enable AutoConfiguration 自动配置开关
检查自动配置是否开启的代码位于AutoConfiguratinmportSelector的selectmpots方法第一段中 。如果开启自动配置功能 , 就继续执行后续操作;如果未开启 , 就返回空数组 。 代码如下 。
@Overridepublic String[]selectImports (AnnotationMetadata annotationMetadata) {if (!isEnabled(annotat ionMetadata)) {return NO_ IMPORTS;}}该方法主要使用 isEnabled 方法来判断自动配置是否开启 , 代码如下 。 protected boolean isEnabled(AnnotationMetadata metadata) {if (getClass() == AutoConfigurationImportSelector . class) {return getEnvironment(). getProperty(EnableAutoConfiguration. ENABLED_ _OVERRIDE_ PROPERTY, Boolean.class,true);}return true;}
通过 isEnabled 方法可以看出 , 如果当前类为 AutoConfigurationlmportSelector 程序会从环境中获取 key 为 EnableAutoConfiguration.ENABL ED_ OVERRIDE PROPERTY 的配置 , 该常量的值为 spring.boot.enableautoconfiguration.如果获取不到该属性的配置,isEnabled默认为 true,也就是默认会使用自动配置 。 如果当前类为其他类 , 直接返回 true 。
如果想覆盖或重置.ENABLED_ _OVERRIDE_ PROPERTY 的配置 , 可获取该常量的值 , 并在 aplication.properties 或 plcatin.ym|中针对此参数进行配置 。 以 application.properties配置关闭自动配置为例 , 代码如下 。
【一线大牛带你深入解析AutoConfiguration源码】spring.boot.enableautoconfiguration-false
本文给大家讲解的内容是AutoConfigurationlmportSelector功能概述和AutoConfiguration自动配置开关
- 下篇文章给大家讲解的是AutoConfiguration加载元数据配置和加载自动配置组件;
- 觉得文章不错的朋友可以转发此文关注小编;
- 感谢大家的支持!
推荐阅读
- 集录音转写、拍照翻译为一体,搜狗AI录音笔E2带你开启智慧办公新体验
- 小姐姐带你探索萌粉电竞显示器的秘密
- 华为5G智能摄像机带你看查干湖冬捕
- 解锁年轻人视频社交新方式 华为nova8 Pro带你拍出专业Vlog
- RX 6000玩游戏好在哪?Frank Azor带你细细品
- 惠州惠城供电局:智慧“云”监工守护一线安全防线
- 十二不如十三香,其中的十三又究竟是什么,带你了解十三香
- 华为DIGIX数字生活节即将落地广州 带你一起领略数字生活新风尚
- RX6000玩游戏好在哪?AMD首席游戏架构师Frank Azor带你细细品
- 华为成都旗舰店正式开业 AR熊猫带你进入智慧生活