我在我的application.properties
中有以下內容;@注入應用程序屬性的值
spring.datasource.username=${USERNAME}
spring.datasource.password=${PASSWORD}
spring.datasource.url=${DB_URL}
...
twitter.consumer.key=${CONSUMER_KEY}
twitter.consumer.secret=${CONSUMER_SECRET}
twitter.access.key=${ACCESS_KEY}
twitter.access.secret=${ACCESS_SECRET}
當應用程序推送到heroku實例時,前三個屬性由環境設置。然後使用由環境設置的值來連接特定於該環境的數據庫。這很好。
問題出在最後四位。由於這些都是敏感信息,我需要它們也被環境注入。然後我使用自動裝配將這些添加到彈簧引導組件。
@Value("${twitter.consumer.key}")
private String consumerKey;
@Value("${twitter.consumer.secret}")
private String consumerSecret;
@Value("${twitter.access.key}")
private String accessKey;
@Value("${twitter.access.secret}")
private String accessSecret;
現在,當我構建應用程序,報告說的是無法解決的ACCESS_KEY
等,因爲我沒有我的本地機器上這些環境變量。
Could not resolve placeholder 'CONSUMER_KEY' in string value "${CONSUMER_KEY}"
如何在不明確設置這些值的情況下構建應用程序?例如,有沒有爲應用程序屬性設置默認值的方法,如果它們無法解析?