微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何从 spring boot / java 添加/读取多个数据中心属性

我正在开发一个应用程序,我将在其中从属性文件传递 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 Boot 代码中阅读它。

我知道是否要读取可以使用的特定值

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

但是这个动态配置,怎么做呢?任何线索都会有所帮助

解决方法

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

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

如果在运行应用程序时未找到该属性,Spring Boot 将抛出非法参数异常,因为无法解析占位符 'spring.application.name' in value "${spring.application.name}"。

为了解决占位符问题,我们可以使用下面给出的语法为属性设置默认值

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

例如:-

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。