“使用IDEA,配置文件是yml,没法获取[环境变量],值是null”的问题处理

为了便于隐藏用户名和密码,咱们有时会用到“环境变量”。java

Spring Boot提供了很好的机制,能够在配置文件中,如application.yml书写如下格式,而后在代码中@Value就能够获取“环境变量”的值。但这有一个不大不小的坑...spring

mail:
  smtp:
    auth: true
    host: smtp.xxmail.com
  user-name: XX监控中心
  user: ${EMAIL_USERNAME}
  password: ${EMAIL_PASSWD}
  recipients: xx@xxx.com

若是IDEA先打开,环境变量后加入,在IDEA调试代码时,就会出现没法获取环境变量的问题,报null的错,如:app

org.springframework.beans.factory.UnsatisfiedDependencyException:..................Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'XXXX' in value "${XXXX}"spa

 

解决办法,很简单:先加入环境变量,从新打开IDEA便可。调试

要注意,关闭全部的IDEA再重启,不然,仍是没法加载环境变量。code

相关文章
相关标签/搜索