Springboot配置类(EnableConfigurationProperties)绑定原理分析

130 阅读1分钟
 @EnableConfigurationProperties(MyConfigurationProperties.class)
 // 如此使用能直接从ioc注入配置类MyConfigurationProperties

原理分析: 可以看出EnableConfigurationProperties又导入了EnableConfigurationPropertiesRegistrarimage.png

     @Override
     public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) {
         registerInfrastructureBeans(registry); //注册后置处理器
         registerMethodValidationExcludeFilter(registry);//不知道干啥
         ConfigurationPropertiesBeanRegistrar beanRegistrar = new ConfigurationPropertiesBeanRegistrar(registry);
         getTypes(metadata).forEach(beanRegistrar::register);//把EnableConfigurationProperties上要扫描的配置类信息进行注册
     }

具体看图

Boot源码-第 2 页.drawio.png