spring-cloud-alibaba-nacos-configからnacos-clientへ

3456 ワード

scのbootstrap contextはmainアプリケーションcontextのparentであり、mainアプリケーションcontextで使用するbeanは
spring-cloud-alibaba-nacos-config/META-INF/spring.factoriesファイルで定義:
org.springframework.cloud.bootstrap.BootstrapConfiguration=\
org.springframework.cloud.alibaba.nacos.NacosConfigBootstrapConfiguration
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.springframework.cloud.alibaba.nacos.NacosConfigAutoConfiguration,\
org.springframework.cloud.alibaba.nacos.endpoint.NacosConfigEndpointAutoConfiguration
org.springframework.boot.diagnostics.FailureAnalyzer=\
org.springframework.cloud.alibaba.nacos.diagnostics.analyzer.NacosConnectionFailureAnalyzer

BootstrapConfigurationはscのbootstrap contextに対応する.
EnableAutoConfigurationはspring bootの自動構成注記です.
spring.factoriesファイルの解析はSpringFactoriesLoaderクラスにあります.
NacosConfigBootstrapConfiguration
@Configuration //   bean
@ConditionalOnProperty(name = "spring.cloud.nacos.config.enabled", matchIfMissing = true)
public class NacosConfigBootstrapConfiguration {

    @Bean //   bean
    @ConditionalOnMissingBean
    public NacosConfigProperties nacosConfigProperties() {
        return new NacosConfigProperties();
    }

    @Bean
    public NacosPropertySourceLocator nacosPropertySourceLocator(
            NacosConfigProperties nacosConfigProperties) {
        return new NacosPropertySourceLocator(nacosConfigProperties);
    }

}

Spring bootエンティティクラスマウントプロファイル情報
@ConfigurationProperties(NacosConfigProperties.PREFIX)
public class NacosConfigProperties {

    public static final String PREFIX = "spring.cloud.nacos.config";

    private static final Logger log = LoggerFactory
            .getLogger(NacosConfigProperties.class);

    /**
     * nacos config server address
     */
    private String serverAddr;

}

 
転載先:https://www.cnblogs.com/allenwas3/p/11354103.html