应用配置文件
对于有前缀的属性配置,.yml要比.propertities好用
my:
servers:
- dev.bar.com
- foo.bar.com
相当于
my.servers[0]=dev.bar.com
my.servers[1]=foo.bar.com
- spring会从classpath下的/config目录或者classpath的根目录查找application.properties或application.yml。/config优先于classpath根目录
应用(使用)属性
- @Value(“${xxx}”) 这种方法比较简单,可以将属性注入
- @ConfigurationProperties
Spring Boot 可以方便地将属性注入到对象中来,例如:
my.name=Isea533
my.port=8080
my.servers[0]=dev.bar.com
my.servers[1]=foo.bar.com
注入到对应的对象中去
@ConfigurationProperties(prefix="my") //将前缀为my的属性注入进来
public class Config {
private String name;
private Integer port;
//SpringBoot会自动类型转换,但是使用List的时候需要初始化
private List<String> servers = new ArrayList<String>();
public String getName(){
return this.name;
}
public Integer getPort(){
return this.port;
}
public List<String> getServers() {
return this.servers;
}
}
Spring Boot还支持嵌套注入
name=isea533
jdbc.username=root
jdbc.password=root
...
对应的配置类
@ConfigurationProperties
public class Config {
private String name;
private Jdbc jdbc;
class Jdbc {
private String username;
private String password;
//getter...
}
public Integer gePort(){
return this.port;
}
public Jdbc getJdbc() {
return this.jdbc;
}
}
jdbc开头的属性都会自动注入到JDBC对象中。