【发布时间】:2020-10-23 08:37:53
【问题描述】:
在 Spring Boot 应用程序中,我在 application.properties 中有一个属性
spring.datasource.url: jdbc:mysql://host1:3306/test?useSSL=false&autoReconnect=true
但是,当我启动应用程序时,它正在连接到一个完全不同的数据库。
因此,当我检查 /actuator/env it url 中的 env 值时,它表明该值正在被环境属性覆盖
SPRING_DATASOURCE_URL": {
"value": "jdbc:mysql://host2:3306/test",
"origin": "System Environment Property \"SPRING_DATASOURCE_URL\""
}
我不知道这个环境属性是在哪里配置的。 我只希望它从我的属性文件中选择,而不是从环境中选择。有什么办法吗?
【问题讨论】:
-
它来自您的系统检查全局导出中某处的
SPRING_DATASOURCE_URL并将其删除。 -
您使用的是什么系统,Linux 还是 Windows?您始终可以通过 Java System 命令行参数
-Dspring.datasource.url=jdbc:mysql://host1:3306/test?useSSL=false&autoReconnect=true覆盖操作系统设置。更多关于优先级的细节在这里docs.spring.io/spring-boot/docs/2.3.4.RELEASE/reference/… -
我用的是mac。问题是我检查了许多可以设置全局属性的地方。而且我在任何地方都没有看到它。
-
@Michal 这只是我给出的一个被覆盖的属性的例子。在我的应用程序中,还有许多其他属性也以相同的方式被覆盖。所以手动指定它们中的每一个是很困难的。
标签: java spring macos spring-boot spring-data-jpa