我无法从环境变量中获取值。有很多类似的问题。但无他们为我工作
Application.properties
spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://localhost:5432/mydb
spring.datasource.username=${SPRING_DATASOURCE_USERNAME}
spring.datasource.password=${SPRING_DATASOURCE_PASSWORD}
系统变量
Variable name : SPRING_DATASOURCE_USERNAME
Variable Value : dbuser
Variable name : SPRING_DATASOURCE_PASSWORD
Variable Value : 123456789
错误
invalid username/password; logon denied
但是当我硬编码时,它工作正常。
更新
答案 0 :(得分:2)
在system.environment变量中定义值之后。你必须重新启动eclipse以便它可以采取行动,否则它将不会读取最近设置的值。
答案 1 :(得分:0)
聚会迟到了,但我不仅要重新启动 IntelliJ IDEA,还要重新启动我的计算机才能使其正常工作。
数据源的环境变量应命名为:
SPRING_DATASOURCE_URL
SPRING_DATASOURCE_USERNAME
SPRING_DATASOURCE_PASSWORD
如果你这样命名它们,你甚至不必再声明 spring.datasource.url
、spring.datasource.username
和 spring.datasource.password
属性,因为 Spring 会自动检测这些环境变量并且使用从中提取的数据创建 DataSource
。