Java 如何从代码而不是从我的application-dev.yml、application-prod.yml初始化属性
我的springboot应用程序有几个yml文件(每个文件用于不同的配置文件-dev、prod)可以从中加载配置。我正在将配置移动到DB 示例配置如下:Java 如何从代码而不是从我的application-dev.yml、application-prod.yml初始化属性,java,spring-boot,configuration,Java,Spring Boot,Configuration,我的springboot应用程序有几个yml文件(每个文件用于不同的配置文件-dev、prod)可以从中加载配置。我正在将配置移动到DB 示例配置如下: admin: id: user05 firstname: Brian lastname: Leavy purl: http://plixes.com/seai/ji 我从数据库中读取值,并将其放在本地。我不知道如何在我的程序中将这些值注入到这些值上,比如键值 admin.id:user05 admin.firstname: B
admin:
id: user05
firstname: Brian
lastname: Leavy
purl: http://plixes.com/seai/ji
我从数据库中读取值,并将其放在本地。我不知道如何在我的程序中将这些值注入到这些值上,比如键值
admin.id:user05
admin.firstname: Brian
admin.lastname: Leavy
admin.purl: http://plixes.com/seai/ji
这样应用程序就可以正常使用它们。
我需要很早对它们进行初始化,因为有些值是springboot配置,比如
server:
port: 5007
任何指示都会非常有用
EDIT1:
经过几个小时的搜索我才发现你可以做这样的事情
SpringApplication app = new SpringApplication(Lexon.class);
app.setDefaultProperties(Collections
.singletonMap("server.port", "5007"));
app.setDefaultProperties(Collections
.singletonMap("admin.id", "user05"));
这可以工作,但看起来不干净
有更好的方法吗 有一个Spring Boot Configuration库,可以将配置外部化到数据库或git存储库中 这样,就可以添加一个数据源和一个SQL语句来检索属性值 例如,在application.yml上:
spring:
cloud:
config:
server:
jdbc:
sql: SELECT KEY, VALUE from MY_PROPERTIES where APPLICATION=? and PROFILE=? and LABEL=?
查看此网站了解更多详细信息:有Spring Boot Configuration库,可以将配置外部化到数据库或git存储库中 这样,就可以添加一个数据源和一个SQL语句来检索属性值 例如,在application.yml上:
spring:
cloud:
config:
server:
jdbc:
sql: SELECT KEY, VALUE from MY_PROPERTIES where APPLICATION=? and PROFILE=? and LABEL=?
查看此网站了解更多详细信息:尝试此:尝试此: