如何从springboot/java添加/读取多个数据中心属性

vhmi4jdf  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(285)

我正在开发一个应用程序,其中我将有1到n个数据中心的详细信息从属性文件传递。例如:。。

myapp.ds1.domain.name=https://www.ds1.com
myapp.ds1.domain.username=us1
myapp.ds1.domain.password=pw1

myapp.ds2.domain.name=https://www.ds2.com
myapp.ds2.domain.username=us2
myapp.ds2.domain.password=pw2

.
.
.
.

myapp.dsn.domain.name=https://www.dsn.com
myapp.dsn.domain.username=usn
myapp.dsn.domain.password=pwn

我不知道我将得到多少固定的数据中心信息,但不管有什么,我需要在我的spring引导代码中阅读它。
我知道如果我想读一个我可以使用的特定值

@Value("${myapp.ds.username:default}")

但这种动态配置,怎么办呢?任何线索都会有帮助

a14dhokn

a14dhokn1#

@value注解用于读取java代码中的环境或应用程序属性值。

@Value("${spring.application.name}")

如果在运行应用程序时找不到该属性,spring boot将抛出非法参数异常,因为无法解析值“${spring.application.name}”中的占位符“spring.application.name”。
为了解决占位符问题,我们可以使用下面给出的语法设置属性的默认值

@Value("${property_key_name:default_value}")

例如:-

@Value("${myproperty_key_name:mydefault_value}")

请注意,您将使用@value读取属性配置文件。

相关问题