SpringBoot(三)Core Features:External Configuration(プロファイル)
2485 ワード
一、属性値は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;
...
}
org.springframework.boot
spring-boot-configuration-processor
true
@EnableConfigurationProperties
注記@SpringBootApplication
@EnableConfigurationProperties
public class HelloWorldMainApplication {
...
}
リファレンス
七、YAML
@PropertySource注記を使用してロードすることはできません.propertiesファイルのみをロードできます.