*.yml
prefix:
key1: ${环境变量1:默认值1}
key2: ${环境变量2:默认值2}
#对象
object:
field1: value
field2: value
#数组
array:
- value1
- value2
# 对象数组
objects:
#对象1
- field1: value1
field2: value2
#对象2
- field1: value1
field2: value2
注入
setter注入
@ConfigurationProperties(prefix = "prefix")//绑定前缀
@Setter
public class Class {
//自动注入相同属性名
private String key1;
private Object object;
private String[] array;
private List<Object> objects;
}
@Value注入
public class Class {
//只能注入基本数据类型和String
@Value("${prefix.key1}")
private String key1;
属性类注入
@ConfigurationProperties(prefix = "prefix") //yml属性注入到属性类
@Data
public class Properties {
private String key1;
private Object1 object1;
private String[] array;
private List<Object1> object1s;
}
@EnableConfigurationProperties(Properties.class)
public class QuickController {
@Autowired
private Properties properties; //类中注入属性类
//方法注入属性类
public void function(Properties properties){}
}