SpringBoot .yml配置文件
来源:互联网 发布:高校教师资格证网络 编辑:程序博客网 时间:2024/05/17 01:52
相关介绍:
SpringBoot支持一种以.yml后缀结尾的配置文件SpringBoot启动时也会默认加载application.yml配置文件。.propertie和.yml配置文件同时存在时,SpringBoot会优先加载.yml(SpringBoot会把.yml转化为.properties文件)
.yml文件是YAML 语言编写的。YAML 是专门用来写配置文件的语言,非常简洁和强大
YAML 语言教程参考:
快速入门:
application.yml
ymlEntity: #String 等价于properties中:ymlEntity.simpleTypeProp=simpleDataType simpleTypeProp: simpleDataType #数组 arrayTypeProp: 1,2,3,4,5,6,7,8 #集合类型:List listTypeProp: - oneData - twoData - threeData #集合类型:Map mapTypeProp: key1: value1 key2: value2 key3: value3 #复杂类型:List<Map> ListMapProp: - id: 123456 name: zjh - age: 18 addr: 海淀 #支持变量引用: - param: "${ymlEntity.simpleTypeProp},${ymlEntity.simpleTypeProp}" student: {id: 12345, name: zjhTest,age: ~}
YmlEntity类引用配置项属性值:因为是通过Get/Set方法把配置项给对应对象属性赋值,所以必须生成Set/Get方法。
- key: value 中间的空格不可少。
- 使用缩进表示层级关系
- 缩进时不允许使用Tab键,只允许使用空格。
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可。
- # 表示注释,从这个字符一直到行尾,都会被解析器忽略。
- 使用变量时”${ymlEntity.simpleTypeProp}”
- ~代表NULL
- 字符串value之中包含空格或特殊字符,需要放在引号之中。
- 单引号和双引号都可以使用,双引号不会对特殊字符转义。
public class Student { private Integer id; private String name; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + '}'; }
@Component@ConfigurationProperties(prefix="ymlEntity")public class YmlEntity { //@Value("${ymlEntity.simpleTypeProp}") private String simpleTypeProp; //@Value("${ymlEntity.arrayTypeProp}") private String [] arrayTypeProp; //@Value("${ymlEntity.listTypeProp}") private List<String> listTypeProp; //@Value("${ymlEntity.mapTypeProp}") private Map<String,String> mapTypeProp; //@Value("${ymlEntity.ListMapProp}") private List<Map<String,String>> ListMapProp; //@Value("${ymlEntity.student}") private Student student; public void setSimpleTypeProp(String simpleTypeProp) { this.simpleTypeProp = simpleTypeProp; } public void setArrayTypeProp(String[] arrayTypeProp) { this.arrayTypeProp = arrayTypeProp; } public void setListTypeProp(List<String> listTypeProp) { this.listTypeProp = listTypeProp; } public void setMapTypeProp(Map<String, String> mapTypeProp) { this.mapTypeProp = mapTypeProp; } public void setListMapProp(List<Map<String, String>> listMapProp) { ListMapProp = listMapProp; } public String getSimpleTypeProp() { return simpleTypeProp; } public String[] getArrayTypeProp() { return arrayTypeProp; } public List<String> getListTypeProp() { return listTypeProp; } public Map<String, String> getMapTypeProp() { return mapTypeProp; } public List<Map<String, String>> getListMapProp() { return ListMapProp; } public Student getStudent() { return student; } public void setStudent(Student student) { this.student = student; }}
@Value测试失败,暂时没找到原因。请留言多谢。
@ConfigurationProperties(prefix=”ymlEntity”)注解在创建Bean时会把该前缀的配置项与属性值一一对应赋值。需要添加Maven依赖:
<!-- 支持 @ConfigurationProperties 注解 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
DemoApplicationTests
@RunWith(SpringRunner.class)@SpringBootTestpublic class DemoApplicationTests { @Autowired private YmlEntity ymlEntity; @Test public void contextLoads() { System.out.println("ymlEntity.simpleTypeProp:"+ymlEntity.getSimpleTypeProp()); System.out.println("ymlEntity.arrayTypeProp:"+ JSON.toJSONString(ymlEntity.getArrayTypeProp())); System.out.println("ymlEntity.listTypeProp:"+ymlEntity.getListTypeProp()); System.out.println("ymlEntity.mapTypeProp:"+ymlEntity.getMapTypeProp()); System.out.println("ymlEntity.ListMapProp:"+ymlEntity.getListMapProp()); System.out.println("ymlEntity.student:"+ymlEntity.getStudent().toString()); }}
阅读全文
0 0
- SpringBoot .yml配置文件
- SpringBoot学习记录3------外部配置文件yml
- 使用SpringBoot yml配置文件(三)
- 使用SpringBoot yml配置文件(三)
- SpringBoot配置文件application.yml (application.properties)
- SpringBoot 热部署 和 yml类型配置文件
- SpringBoot开发详解(三)--SpringBoot配置文件YML注意事项
- SpringBoot开发详解(三)--SpringBoot配置文件YML注意事项
- springboot yml
- SpringBoot学习:获取yml和properties配置文件的内容
- SpringBoot学习:获取yml和properties配置文件的内容
- SpringBoot yml 配置
- SpringBoot yml 配置
- springboot学习笔记2(拦截器,redis,授权登录,读取yml配置文件)
- SpringBoot学习:获取yml和properties配置文件的内容(转载)
- elasticsearch.yml-elasticsearch配置文件
- ElasticSearch.yml 配置文件属性
- springboot注解读取yml文件
- Python的交互模式和直接运行.py文件有什么区别?
- 如何在cylinux环境下下载pip和安装python所需模块
- 关于H5中的<video></video>标签的用法总结
- 0/1背包问题
- 【无人驾驶量产得靠128线廉价激光雷达,中国将是最大市场】专访Velodyne自动驾驶VP
- SpringBoot .yml配置文件
- Android中使用canvas定制控件(控件周围阴影)
- iOS 常见错误总结(2)
- 如何成为一名对话系统工程师
- Airkiss 2.0 如何导入到自己的项目中
- 阿里速度!100亿脱贫基金第一个项目落地
- 【每日一题(11)】Wine Trading in Gergovia POJ
- docker系列-04.linux关闭selinux
- Canvas 入门3 Click事件处理