springboot的配置文件
一、springboot配置文件值的注入
-
@ConfigurationProperties(prefix = "xxx")
实例代码:
@Component @ConfigurationProperties(prefix = "person") @Validated public class Person { @Email(message = "邮箱格式错误") private String email; private String name; private Integer age; private Date birthday; // get/set/toString省略 }
person: name: xxx age: 27 birthday: 1991/09/01 email: yanfei@163.com
@RunWith(SpringRunner.class) @SpringBootTest public class ExampleApplicationTests { @Autowired private Person person; @Test public void testConfigurationProperties() { System.out.println(person); } }
-
@Value
@Component public class Person { private String email; @Value("${person.name}") private String name; private Integer age; private Date birthday; // get/set/toString省略 }
-
@Value获取值和@ConfigurationProperties获取值比较
@ConfigurationProperties @Value 功能 批量注入配置文件中的属性 一个个指定 松散绑定(松散语法) 支持 不支持 SpEL 不支持 支持 JSR303数据校验 支持 不支持 复杂类型封装 支持 不支持
二、yaml配置文件中各类型值得写法
person:
name: xxx
age: 27
birthday: 1991/09/01
email: xxx@163.com
# list写法
books:
- math
- english
#map
map: {v1: k1,v2: k2}
#object1
friends: {name: Tom,age: 12}
#object2
# friends:
# name: Job
# age: 12
三、从自定义配置文件中读取配置信息
- @PropertySource
@PropertySource(value = "classpath:common/application-dev.properties")
注意:默认从全局配置文件中获取值
- @ImportResource(locations = {"classpath:beans.xml"}):导入Spring的配置文件,让配置文件里面的内容生效
但是这种方式不常用,推荐使用全注解的方式。
四、配置文件占位符
如果没有,可以指定默认值
本文来自博客园,作者:追梦1819,转载请注明原文链接:https://www.cnblogs.com/yanfei1819/p/9668092.html