zoukankan      html  css  js  c++  java
  • 从 spring-cloud-alibaba-nacos-config 进入 nacos-client

    sc 的 bootstrap context 是 main application context 的 parent,需要在 main application 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;
    
    }
  • 相关阅读:
    主流数据可视化工具介绍:帆软FineBI
    AngularJS之表格序号
    AngularJS之表格设置样式
    正则点号和问号 +
    中国市场主流商业智能工具的对比
    ssh 认证指定端口
    EL表达式中获取list长度
    java 如何将byte中的有效长度转换为String
    RedHat Enterprise Linux 6.4-x86_64 md5:467B53791903F9A0C477CBB1B24FFD1F
    14.5.5.3 How to Minimize and Handle Deadlocks 如何减少和处理死锁
  • 原文地址:https://www.cnblogs.com/allenwas3/p/11354103.html
Copyright © 2011-2022 走看看