網上down了一份源碼。啓動後報錯,經過報錯信息定位到這個地方:html
![](http://static.javashuo.com/static/loading.gif)
以前對這個@Value的實現方式我也沒了解過,因此伺機對springboot關於這一塊的源碼研究了一下。能夠參考當時個人一篇分析記錄《@value》。對@value的原理又了必定的瞭解以後,發現問題並無處在解析這一塊,而是springboot並無讀取咱們的配置文件。配置文件有兩個:java
![](http://static.javashuo.com/static/loading.gif)
那麼爲何沒有讀去呢?而後我又分析了一下源碼,發現默認狀況下,只會讀去默認的配置文件路徑名稱。分別是:spring
file:./config/application.properties
file:./config/application.xml
file:./config/application.yml
file:./config/application.yaml
file:./application.properties
file:./application.xml
file:./application.yml
file:./application.yaml
classpath:/config/application.properties
classpath:/config/application.xml
classpath:/config/application.yml
classpath:/config/application.yaml
classpath:/application.properties
classpath:/application.xml
classpath:/application.yml
classpath:/application.yaml
file:./config/application-default.properties
file:./config/application-default.properties
file:./config/application.properties
file:./config/application-default.xml
file:./config/application-default.xml
file:./config/application.xml
file:./config/application-default.yml
file:./config/application-default.yml
file:./config/application.yml
file:./config/application-default.yaml
file:./config/application-default.yaml
file:./config/application.yaml
file:./application-default.properties
file:./application-default.properties
file:./application.properties
file:./application-default.xml
file:./application-default.xml
file:./application.xml
file:./application-default.yml
file:./application-default.yml
file:./application.yml
file:./application-default.yaml
classpath:/config/application-default.properties
classpath:/config/application-default.properties
classpath:/config/application.properties
classpath:/config/application-default.xml
classpath:/config/application-default.xml
classpath:/config/application.xml
classpath:/config/application-default.yml
classpath:/config/application-default.yml
classpath:/config/application.yml
classpath:/config/application-default.yaml
classpath:/config/application-default.yaml
classpath:/config/application.yaml
classpath:/application-default.properties
classpath:/application-default.properties
classpath:/application-default.xml
classpath:/application-default.xml
classpath:/application.xml
classpath:/application-default.yml
classpath:/application-default.yaml
classpath:/application.yaml
並無咱們的配置文件,也就是說默認狀況下是讀取不到咱們的配置文件的。
那麼怎樣才能讓springboot在啓動的時候讀去咱們指定的配置文件呢?有三種方法http://blog.csdn.net/qq_21387171/article/details/53876721:
(1) 使用@PropertySource註解 springboot
直接在啓動類上使用@PropertySource註解來加載不一樣的配置文件,具體以下所示:app
![](http://static.javashuo.com/static/loading.gif)
(2) 修改spring.profiles.active屬性post
須要在application.properties文件中經過spring.profiles.active屬性來設置,其值對應{profile}值,如:spring.profiles.active=dev就會加載application-dev.properties配置文件內容,具體以下所示:測試
![](http://static.javashuo.com/static/loading.gif)
(3) 執行命令行url
如上面介紹所講的同樣,咱們可使用命令行,好比執行java -jar xxx.jar --spring.profiles.active=test,能夠觀察到服務端口被設置爲8082,也就是測試環境的配置(test)。spa