我有 jdbc 属性文件,我从外部配置 web 服务中获取在 spring boot 中为了设置 mysql props,将它们添加到 application.properties 很容易:
spring.datasource.url=jdbc:mysql://localhost/mydb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
我如何在我的应用程序中以编程方式覆盖那些?
Spring-batch 道具也是如此:
database.driver=com.mysql.jdbc.Driver
database.url=jdbc:mysql://localhost/mydv
database.username=root
database.password=root
原文由 rayman 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以在响应 ApplicationEnvironmentPrepared 事件的生命周期侦听器中添加其他属性源。
类似于以下内容:
然后在 src/main/resources/META-INF/spring.factories 中注册该类:
这对我有用,但是,您此时可以做的事情有点有限,因为它在应用程序启动阶段相当早,您必须找到一种方法来获得您需要的值而不依赖于其他弹簧豆类等