springboot的配置文件
2024-09-25 20:03:32
一、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的配置文件,让配置文件里面的内容生效
但是这种方式不常用,推荐使用全注解的方式。
四、配置文件占位符
如果没有,可以指定默认值
最新文章
- MySQL Performance-Schema(二) 理论篇
- jq点击小图 弹出大图(更新版)
- 修改server 2008远程桌面端口
- AX2012 审批流流转到已停用的域账号导致审批流停止
- thread_LockSupport
- css选择器权值
- DB天气app冲刺二阶段第十一天(完结)
- STM32 TIM重映射
- 并发情况下synchronized死锁
- Android使用webService
- Linux命令不熟悉(记录)
- memset的用法
- Python——设计模式——单例模式
- java 随机生成6位短信验证码
- (20/24) webpack实战技巧:watch实现热打包和添加代码备注
- android -------- 压缩图片文件工具类
- 记账本NABCD分析
- Docker容器学习梳理 - 基础知识(1)
- Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1)
- ROS Industrial 简介