我希望在YAML文件中添加两行,或者更确切地说,我希望实例id字段包含将port和name字段的值相加的结果 我试着用+,试了试我在类似问题中看到的各种标签,比如!Join、!Conat(Java说它们不存在).但最终都没有奏效. 有什么解决方案吗?

示例YAML(对不起,我不知道如何在这里加载YAML):

server:
  port: &port 62000
spring:
  application:
    name: &appname 'appname'
eureka:
  client:
    service-url:
      defaultZone: 'http://localhost:8081/eureka/'
  instance:
    instance-id: here should be *appname + ":" + *port (result appname:62000)

推荐答案

这通常不适用于YAML,但可以在Spring Boot中使用,因为您可以使用Spring EL表达式,从而引用属性值中的其他属性:

server:
  port: 62000
spring:
  application:
    name: 'appname'
eureka:
  client:
    service-url:
      defaultZone: 'http://localhost:8081/eureka/'
  instance:
    instance-id: ${spring.application.name}:${server.port}

Java相关问答推荐

查找最大子数组的和

如何在Javascript中设置文本区域圆角的样式

多个Java线程和TreeMap.put()的非预期行为

具有多种令牌类型和段的复杂Java 17正则表达式

如何创建一个2d自上而下的移动系统,其中移动,同时持有两个关键是可能的处理?

Spring data JPA/Hibernate根据id获取一个列值

当Volatile关键字真的是必要的时候?

在Java 17中使用两个十进制数字分析时间时出错,但在Java 8中成功

SonarLint:只能有条件地调用方法(S)

无法播放音频:从资源加载库GStreamer-Lite失败

Android应用程序为错误的显示类型 Select 尺寸文件

S数学.exp的相同错误保证也适用于StrictMath.exp吗?

在打开搜索结果时,如何让Eclipse打开整个文件?

Java 17与Java 8双重表示法

ResponseEntity.控制器截断响应的JSON部分

原始和参数化之间的差异调用orElseGet时可选(供应商)

为什么Java编译器为没有参数的方法(getter方法)创建桥接方法

如何转换Vector<;对象>;转换为int?

如何组合Mono和Flux

如何调查进程列表中不可见的活跃 MySQL 事务?