gpt4 book ai didi

java - 如何从代码而不是从我的 application-dev.yml、application-prod.yml 初始化属性

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:14 27 4
gpt4 key购买 nike

我的 springboot 应用程序有一些 yml 文件(每个文件用于各种配置文件 - dev、prod)来加载配置。我正在将配置移至数据库。

示例配置如下:

admin:
id: user05
firstname: Brian
lastname: Leavy
purl: http://plixes.com/seai/ji

我从数据库读取值并将其保存在本地。我不知道如何将程序中的这些值注入(inject)到这些值上,例如键值,as,

admin.id:user05
admin.firstname: Brian
admin.lastname: Leavy
admin.purl: http://plixes.com/seai/ji

以便应用程序可以正常使用它们。我需要它们很早就初始化,因为有些值是 springboot 配置,例如,

server:
port: 5007

任何指示都会非常有帮助。

编辑1:

我经过几个小时的搜索才发现,你可以做这样的事情,

SpringApplication app = new SpringApplication(Lexon.class);
app.setDefaultProperties(Collections
.singletonMap("server.port", "5007"));
app.setDefaultProperties(Collections
.singletonMap("admin.id", "user05"));

这可行,但看起来不干净。

有更好的方法吗?

最佳答案

Spring Boot 配置库,可以将配置外部化到数据库或 git 存储库。

这样,您就可以添加数据源和 SQL 语句来检索属性值。

例如,在 application.yml 上:

spring:
cloud:
config:
server:
jdbc:
sql: SELECT KEY, VALUE from MY_PROPERTIES where APPLICATION=? and PROFILE=? and LABEL=?

查看此网站了解更多详细信息:https://www.devglan.com/spring-cloud/jdbc-backend-spring-cloud-config

关于java - 如何从代码而不是从我的 application-dev.yml、application-prod.yml 初始化属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57167217/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com