spring boot 的一个特点是,在 application.properties / yml 中配置后,配置项就会被解析,甚至创建 bean。

还有一个特点是,通过 starter 管理了依赖项的版本。

入口在 nacos-config-spring-boot-autoconfigure/META-INF/spring.factories

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  com.alibaba.boot.nacos.config.autoconfigure.NacosConfigAutoConfiguration
org.springframework.boot.env.EnvironmentPostProcessor=\
  com.alibaba.boot.nacos.config.autoconfigure.NacosConfigEnvironmentProcessor

自动解析配置,以及自动注册 bean 的逻辑

@ConditionalOnProperty(name = NacosConfigConstants.ENABLED, matchIfMissing = true)
@ConditionalOnMissingBean(name = CONFIG_GLOBAL_NACOS_PROPERTIES_BEAN_NAME)
@EnableConfigurationProperties(value = NacosConfigProperties.class)
@ConditionalOnClass(name = "org.springframework.boot.context.properties.bind.Binder")
@Import(value = { NacosConfigBootBeanDefinitionRegistrar.class })
@EnableNacosConfig
public class NacosConfigAutoConfiguration {

}

拉取 nacos 远程配置的逻辑

com.alibaba.boot.nacos.config.autoconfigure.NacosConfigEnvironmentProcessor

 

posted on 2020-03-14 16:25  偶尔发呆  阅读(328)  评论(0编辑  收藏  举报