热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

YAML(。yml)和。Java中的属性文件

YAML(。yml)和。Java中的属性文件原文:https:

YAML(。yml)和。Java 中的属性文件

原文:https://www . geesforgeks . org/difference-YAML-yml-and-properties-file-in-Java-spring boot/

这些文件具有启动和运行应用程序所需的不同配置属性,例如与数据库连接、凭据是什么、应用程序将在哪个端口上运行等。

YAML(。yml)文件:T3】YAML 是配置语言。像 Python、Ruby、Java 这样的语言在开发应用程序时大量使用它来配置各种属性。

如果您曾经使用过弹性搜索实例和 MongoDB 数据库,这两个应用程序都使用 YAML()。yml)作为它们的默认配置格式。

示例:

#.yml file
some_key:value
some_number:9
some_bool:true

筑巢:对于筑巢来说。yml 文件支持使用空格的层次结构。

# .yml file
somemap:
key:value #use space not tab
number:9
#inline format
map2: {bool=true, date=2016-01-01}

让我们在这样的文件中定义一个列表:作为其规范的一部分,YAML 支持该列表。

#.properties file
# A List
numbers[0] = one
numbers[1] = two
# Inline List
numbers = one, two

。属性文件: 此文件扩展名用于配置应用程序。这些在像 Java 等技术中被用作属性资源包文件。

示例:

#.properties file
some_key = value
some_number = 9
some_bool = true

筑巢:对于筑巢来说。属性文件支持点(。)符号。中的内联格式。yml 文件与 JSON 非常相似

#.properties file
somemap.key = value
somemap.number = 9
map2.bool = true
map2.date = 2016-01-01

我们在这样的文件中定义一个列表:。属性文件不支持列表,但是 spring 使用数组作为约定来定义。属性文件。

#.yml file
numbers:
- one # use a dash followed by space
- two
# Inline List
numbers:[one, two]

差异表:

| YAML(..(yml) | 。性能 |
| --- | --- |
| 规格可以在[这里](https://yaml.org/spec/)找到 | 它实际上没有规格。它最接近规范的东西实际上是 javadoc。 |
| 人类可读的(两者在人类可读性方面都做得很好) | 人类可读的 |
| 支持键/值,基本上是映射、列表和标量类型(int、string 等)。) | 支持键/值,但不支持超出字符串的值 |
| 它的用法在很多语言中都很普遍,比如 Python、Ruby 和 Java | 它主要用于 java |
| 分级结构 | 非等级结构 |
| Spring Framework 不支持带有的@PropertySources。yml 文件 | 支持带有的@PropertySources。属性文件 |
| 如果您使用的是弹簧轮廓,则可以在一个轮廓中包含多个轮廓。yml 文件 | 每个配置文件需要一个单独的。属性文件 |
| 从检索值时。yml 文件我们得到的值是相应的类型(int、string 等)。)处于配置中 | 而在。不管配置中的实际值类型是什么,我们都会得到字符串 |

该用什么。属性或。yml 文件?

严格来说,。yml 文件比。属性文件,因为它具有类型安全性、层次结构和支持列表,但是如果您正在使用 spring,spring 有许多约定和类型转换,允许您有效地获得 YAML 为您提供的所有这些相同的功能。

使用 YAML 的一个好处是。yml)文件是如果您正在使用多个读取相同配置文件的应用程序。您可能会看到其他语言对 YAML 的更好支持。yml)与. properties 相反。


推荐阅读
  • 本文分析HashMap的实现原理。数据结构(散列表)HashMap是一个散列表(也叫哈希表),用来存储键值对( ... [详细]
  • 散列表(上)Ⅰ散列思想Ⅱ散列函数Ⅲ散列冲突A.开放寻址法B.链表法Ⅳ如何实现单词拼写检查功能Ⅰ散列思想散列表的英文叫“HashTable”࿰ ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了迭代数组的问题相关的知识,希望对你有一定的参考价值。我在浏 ... [详细]
  • 1、概念共享内存:共享内存是进程间通信中最简单的方式之一。共享内存允许两个或更多进程访问同一块内存,就如同malloc()函数向不同进程返回了指向同一个 ... [详细]
  • 记录工作和学习中遇到和使用过的Python库。Target四个Level整理Collect学习Learn练习Practice掌握Master1.Python原生和功能增强1.1py ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • Smali代码注入
    以下的内容是对官方MIUIV4移植教程的补充,其中一些工具的使用就不在这里赘述,请大家参考官方教程。好的,话不多说,进入正题 ... [详细]
  • Echarts 3D地图图表
    需求:实现如图所示的3D地图图表(1)原本使用的highcharts没有3d地图的功能,搜索插件也没有可替代的方案ÿ ... [详细]
  • 跪服!大四学生开发了一整套文言编程
    机器之心报道参与:思、Jamin用文言文写的官方编程教程《文言陰符》,类似pip那样的包管理工具「文淵閣」,还有文言编程开源IDE「文言齋 ... [详细]
  • 使用Mybatis框架操作数据库时,可以使用注解的方式,也可以使用XML文件配置,两种写法各有千秋。在使用注解进行save操作时,如果我想获取插入数据后的自增主键,那么可以使用如下 ... [详细]
  • 《ASP.NET MVC 4 实战》 1.3  ASP.NET MVC 3/4的新特性
    本节书摘来自异步社区《ASP.NETMVC4实战》一书中的第1章,第1.3节,作者:【美】JeffreyPalermo,【美】JimmyB ... [详细]
  • 结束jquery时间不长,写代码感觉很生,而且敢接写起来很费劲做点简单的总结。首先主要要先引入.juery.js文件第二一些js插件文件也要在jquer ... [详细]
  • Sets和数组一样,都是一些有序值的的集合,但是Sets和数组又有所不同,首先Sets集合中不能存有相同的值,如果你向Set ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
author-avatar
手机用户2502898521
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有