springcloud拡張プロジェクトの設定は、ローカルのconfigディレクトリからロードされます

ナコスサービスからアプリケーションのスタートアップコンフィギュレーションは、アプリケーションにロードされた後、アリオープンソースによってナコス悟りを開いたが、ローカルにロードする設定がローカルストアからロードすることができたときに開発された思考は、そのような効率は、開発を加速することができます

最初の

私たちは、SpringCloudプロジェクトのアプリケーションナコスのサービスを見てbootstrap.yaml、次のような構成であります

spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: demo
  profiles:
    active: db,redis,rabbit,es,zk

次に、コンソール構成ナコスを追加

上記後、アプリケーションはナコスから取るように配置することができます。

問題

私は、ファイルシステムの代替ナコスから設定を読み込む場合はここで開発する場合、開発効率をスピードアップすることができます、だけでなく、快適なコーディングビジネスコードを感じるようにと考えています。

スタートアップコンフィギュレーション分析した後spring.factoriesや構成のクラスをNacosConfigProperties

org.springframework.cloud.bootstrap.BootstrapConfiguration=\
org.springframework.cloud.alibaba.nacos.NacosConfigBootstrapConfiguration

検索NacosConfigBootstrapConfigurationは次のようなコードがあります

@Configuration
@ConditionalOnProperty(name = "spring.cloud.nacos.config.enabled", matchIfMissing = true)
public class NacosConfigBootstrapConfiguration {

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

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

}

鍵は内側にあるNacosPropertySourceLocator実装インタフェースPropertySourceLocator

/**
 * Strategy for locating (possibly remote) property sources for the Environment.
 * Implementations should not fail unless they intend to prevent the application from
 * starting.
 *
 * @author Dave Syer
 *
 */
public interface PropertySourceLocator {

    /**
     * @param environment The current Environment.
     * @return A PropertySource, or null if there is none.
     * @throws IllegalStateException if there is a fail-fast condition.
     */
    PropertySource<?> locate(Environment environment);

}

ここでそれを行う方法を理解します。

具体的な表情私はgitリポジトリhttps://github.com/lyg123/SpringCloudLocalCofigDemoを共有します

新しいbootstarp.yaml次のように設定があります

spring:
  cloud:
    nacos:
      config:
        enabled: false
        server-addr: 127.0.0.1:8848
        file-extension: yaml
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: demo
  profiles:
    active: db,redis,rabbit,es,zk

このようなアプリケーションのスタートアップコンフィギュレーションは、ローカル・ファイル・システムまたはナコスサービスの負荷からロードされます

おすすめ

転載: www.cnblogs.com/li-yg/p/11419732.html