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;
    
    }
  • 相关阅读:
    CHANGE YOUR BROWSER’S USER AGENT STRING TO VIEW IPAD READY WEBSITES
    javascript鼠标后面跟当前坐标
    四月上半月总结(雅虎面试+玩)
    the way javascript create objects
    Navigator 对象
    三月份总结(后台规范+面试)
    SVN客户端使用教程
    44种IE css bug实例测试总结(转载)
    处理兼容性问题(浮动),以及解决方法
    调用网页头部和尾部的公共部分
  • 原文地址:https://www.cnblogs.com/allenwas3/p/11354103.html
Copyright © 2011-2022 走看看