SpringBoot(三)Core Features:External Configuration(プロファイル)

2485 ワード

  • コードクラウド:external-configuration
  • 属性ファイル、YAMLファイル、環境変数、コマンドラインパラメータを使用して構成を外部化できます.

    一、属性値はbeanに直接注入できる


    システム属性値は不可
    // application.properties
    
    name=xiaoming
    server.port=80
    
    import org.springframework.stereotype.*;
    import org.springframework.beans.factory.annotation.*;
    
    @Component
    public class MyBean {
    
        @Value("${name}")
        private String name;
    
        @Value("${server.port}")   //  
        private String name;
        // ...
    
    }
    

    二、属性をパラメータとして適用する


    ドキュメント:24.5 Placeholders in Properties
    server.port=80
    #  
    xm.name=xiaoming
    xm.gener=man
    xm.reference=Name:${xm.name},Gener:${xm.gener},${server.port} //  
    

    三、構成乱数(Configuring Random Value)


    四、コマンドラインで属性値を設定する(Accessing Command Line Properties)


    無効にできます
    SpringApplication.setAddCommandLineProperties(false)
    

    五、多環境配置


    複数の異なる環境のプロファイルを構成し、パッケージコマンドでパッケージする内容を指定して区別してパッケージ化

    六、カスタムプロファイルについて

  • カスタム構成
  • peron:
      lastName: xiaoming
      last: 18
      boss: false
      birth: 2017/12/12
      maps: {k1: v1,k2: v2}
      lists:
        - lisi
        - zhaoliu
      dog:
        name:  
        age: 2
    
  • 注記マッピング属性の値
  • を使用
    @Component
    @ConfigurationProperties("person")
    public class Person {
        private String lastName;
        private Integer age;
        ...
    }
    
  • 宣言依存(付録B参照)
  •         
                org.springframework.boot
                spring-boot-configuration-processor
                true
            
    
  • メインプログラムクラス@EnableConfigurationProperties注記
  • を有効にする
    @SpringBootApplication
    @EnableConfigurationProperties
    public class HelloWorldMainApplication {
        ...
    }
    

    リファレンス

  • ドキュメント:24.3 ApplicationProperty Files
  • 付録B.構成メタデータ:B.3 Generating Your Own Metadata by Using the Annotation Processor
  • 七、YAML


    @PropertySource注記を使用してロードすることはできません.propertiesファイルのみをロードできます.

    八、参考

  • 公式文書:24.Externalized Configuration 25. Profiles
  • Spring Bootチュートリアル第2編:プロファイル詳細
  • Spring Bootプロパティプロファイル詳細