配置檔案位置
說明file:./config/
為於project目錄下的config目錄,實際上對應於jar檔案同一目錄的config目錄。
file:./
projet目錄。實際上對應於jar檔案的同一目錄。
classpath:/config/
jar包內的檔案目錄,對應**的resource目錄中的config
classpath:/
jar包內的檔案,對應**的resource目錄。
我們將上述4個配置檔案的server port分別配置為 8081、8082、8083、8084。
server:
port: 8081
之後我們啟動springboot專案:
2021-02-02 14:49:03.491 info 16724 --- [ restartedmain] o.s.b.d.a.optionallivereloadserver : livereload server is running on port 35729
2021-02-02 14:49:03.514 info 16724 --- [ restartedmain] o.s.b.w.embedded.tomcat.tomcatwebserver : tomcat started on port(s): 8081 (http) with context path ''
可以看到,springboot實際上監聽的是8081埠。
說明file:./config/ 的優先順序是最高的。
之後我們將這個位置對應的配置檔案刪除再啟動:
2021-02-02 14:50:43.153 info 18276 --- [ restartedmain] o.s.b.d.a.optionallivereloadserver : livereload server is running on port 35729
2021-02-02 14:50:43.175 info 18276 --- [ restartedmain] o.s.b.w.embedded.tomcat.tomcatwebserver : tomcat started on port(s): 8082 (http) with context path ''
可以看到此時的配置檔案,生效的是file:./ 下面的配置檔案,此時的監聽埠為8082。
我們再刪除此檔案之後啟動:
2021-02-02 14:52:40.730 info 12004 --- [ restartedmain] o.s.b.d.a.optionallivereloadserver : livereload server is running on port 35729
2021-02-02 14:52:40.755 info 12004 --- [ restartedmain] o.s.b.w.embedded.tomcat.tomcatwebserver : tomcat started on port(s): 8083 (http) with context path ''
此時監聽的埠是8083。
說明在classpath中的優先順序,config目錄下的優先順序高於config目錄之外的配置檔案。
同樣,我們再將此檔案刪除,重啟,此時監聽埠會變為8084。
2021-02-02 14:54:19.761 info 16200 --- [ restartedmain] o.s.b.d.a.optionallivereloadserver : livereload server is running on port 35729
2021-02-02 14:54:19.784 info 16200 --- [ restartedmain] o.s.b.w.embedded.tomcat.tomcatwebserver : tomcat started on port(s): 8084 (http) with context path ''
這樣我們得到了springboot配置檔案路徑的優先順序,file > classpath, 有config目錄》無config目錄。
配置檔案位置
優先順序順序
file:./config/
最高,1
file:./
其次,2
classpath:/config/
第三,3
classpath:/
最低,4
這樣我們再使用springboot的時候,就很清楚配置檔案應該存在於什麼位置是最合適。
Spring Boot讀取配置檔案與配置檔案優先順序
spring boot讀取配置檔案 package com.ivan.config.controller import org.springframework.beans.factory.annotation.autowired import org.springframework.core.env...
springboot關於配置熱部署
1.在 spring boot 開發環境下禁用模板快取 開發環境下關閉 thymeleaf 模板快取,thymeleaf 預設是開啟狀態 spring.thymeleaf.cache false 2.引入熱部署依賴 org.springframework.boot spring boot devto...
Spring Boot 菜鳥教程 28 多配置檔案
src scrolling 0 width 110 height 20 開發過程中可能會有如下需求 開發和部署的配置資訊可能不同,常規的方式就是在配置檔案裡面先寫好開發配置,在部署的時候再去修改這些配置,這樣可能會出現很多問題,比如使用者名稱 密碼忘記了修改或者改錯了等問題。author je哥 e...