我在我的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}"
如何在不明确设置这些值的情况下构建应用程序?例如,有没有为应用程序属性设置默认值的方法,如果它们无法解析?