yaml 文件中的星号(*) 有什么用?

Yar*_*ara 15 spring yaml spring-boot spring-boot-actuator

当我偶然发现这句话时,我正在检查弹簧启动执行器:

*在 YAML 中具有特殊含义,因此如果要包含(或排除)所有端点,请务必添加引号。

我试图在互联网上查找相关内容,但没有运气。yaml文件中有什么用*?

Ani*_*wat 17

*用于删除重复节点。考虑这个 yaml 示例:

\n\n
myprop:\n  uid: &id XXX\nmyprop1:\n  id: *id\n
Run Code Online (Sandbox Code Playgroud)\n\n

上面的内容将扩展为:

\n\n
myprop:\n  uid: XXX\nmyprop1:\n  id: XXX\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在尝试运行此代码:

\n\n
@Value("${myprop.uid}") String uid;\n@Value("${myprop1.id}") String id;\n\n@Bean\nApplicationRunner runner() {\n    return args -> {\n        System.out.println(uid);  // prints "XXX"\n        System.out.println(id); // prints "XXX"\n        System.out.println(uid.equals(id)); // prints "true"\n    };\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

从规格来看:

\n\n
\n

重复节点(对象)首先由锚点标识(用与号标记 - \xe2\x80\x9c & \xe2\x80\x9d),然后使用别名(用星号引用 - \xe2\x80\x9c * \ xe2\x80\x9d) 此后。

\n
\n