spring bootはプロファイルを読みます.
一、スプリングブックの設定ファイル
コアプロファイルとカスタムプロファイル.コアプロファイルとは、resorcessルートディレクトリの下の
情報は、ここで
二、コアプロファイルの二種類の読み取り方法
コアプロファイルの内容:
カスタムconfig.propertiesの内容は以下の通りです.
注意:springboot 1.5バージョン以下@ConfigrationProptiesには二つの属性のlocationsがあります.
prefix(プロファイルのキー名のプレフィックスを指定します.)しかし、1.5バージョン以上のバージョンはlocations属性をキャンセルしました.プロファイルを指定するために
位置は@ProptySource(value=「カスタムプロファイルパス」)を使ってファイルの場所を指定します.
コアプロファイルとカスタムプロファイル.コアプロファイルとは、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() ;
}
}