Spring boot - 公开具有不同名称的通用应用程序属性

Spring boot - expose common application properties with different names

我有一个要求,我需要我的自定义应用程序属性充当 spring 为不同包提供的各种常见应用程序属性的别名。

示例: 每当我为应用程序 属性 foo.host 设置值时,它应该为 spring.rabbit.host 属性.

设置值

同样设置 foo.port 的值应该设置 spring.rabbitmq.port 的值。

这能实现吗?

可以,您可以将这些添加到您的 application.properties:

spring.rabbit.host=${foo.host}
spring.rabbit.port=${foo.port}

但是,如果您仍然通过系统属性提供 spring.rabbit.host 作为环境变量或直接参数,那么它将优先于 foo config。