spring bootはプロファイルを読みます.


一、スプリングブックの設定ファイル
        コアプロファイルとカスタムプロファイル.コアプロファイルとは、resorcessルートディレクトリの下のapplication.propertiesまたはapplication.ymlの構成文である.   件コアファイルの元の生態を破壊しないためには、カスタマイズされた設定情報が必要です.通常はカスタムプロファイルを選択してこれらのカスタム設定ファイルを保存します.
   情報は、ここでresources/configディレクトリで構成ファイルconfig.propertiesを作成します.
      
二、コアプロファイルの二種類の読み取り方法
   コアプロファイルの内容:
server:
  port: 8081
  context-path: /boot

service:
  name: freya
   (1)@Value(「{キー名}」)
RestController
public class HelloController {

    @Value("${service.name}")
    private String name;

    @RequestMapping(value = "/hello")
    public String hello() {
        return "hello spring boot! " + name;
    }
}
   (2)Evironment、env.get Property(「キー名」)を使用する
@RestController
public class HelloController {
    @Autowired
    private Environment env;

    @RequestMapping(value = "/hello")
    public String hello() {
        return "hello spring boot! " + env.getProperty("service.name");
    }
}
三、カスタムプロファイルの読み込み方法
       カスタムconfig.propertiesの内容は以下の通りです.
project.version=1.0-SNAPSHOT
project.name=boot
       エンティティクラスMyConfigを作成します.
       注意:springboot 1.5バージョン以下@ConfigrationProptiesには二つの属性のlocationsがあります.      
       prefix(プロファイルのキー名のプレフィックスを指定します.)しかし、1.5バージョン以上のバージョンはlocations属性をキャンセルしました.プロファイルを指定するために
       位置は@ProptySource(value=「カスタムプロファイルパス」)を使ってファイルの場所を指定します.
@Component
@ConfigurationProperties(prefix = "project")
@PropertySource(value = "classpath:config/config.properties")
public class MyConfig {
    private String version;
    private String name;

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
@RestController
public class HelloController {

    @Autowired
    private MyConfig myConfig;

    @RequestMapping(value = "/hello")
    public String hello() {
        return "hello spring boot! " myConfig.getVersion() + " " +  myConfig.getName() ;
    }
}