「使用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

相關文章
相關標籤/搜索