轉(zhuǎn)載請注明來源 賴賴的博客
導(dǎo)語
學(xué)會如何獲取資源和知識,才是學(xué)習(xí)的基礎(chǔ)。
在spring-boot-01中我們簡單的了解到了如何啟動一個spring-boot工程,現(xiàn)在出現(xiàn)一個問題,我電腦中的8080端口被占用了,我想修改Spring boot的默認(rèn)端口,應(yīng)該怎么辦?
還有其他的一些默認(rèn)配置是什么?我去哪兒找?又是如何修改?
這篇文章將帶你解決這些問題
實例
項目工程目錄結(jié)構(gòu)和代碼獲取地址
獲取地址(TAG將會注明不同版本對應(yīng)的課程)
https://github.com/laiyijie/Spring-Boot-Learning
目錄結(jié)構(gòu)
可以看出,與上一節(jié)課相比,只多了一個文件,就是 application.properties
運行方式
- 右鍵 LearningApplication并運行(跟運行一個最普通的辦好 Main函數(shù)的Java類一樣)
運行結(jié)果
打開瀏覽器輸入: http://localhost:8888/
可以看出服務(wù)器的端口被改成了8888而不是原來的8080端口
項目詳解
除了新增的application.properties文件以外,其他的和上一章節(jié)是一樣的,因此我們著重看這個文件:
application.properties
server.port=8888
只有一行!修改了server.port為8888
我們從這個文件可以看出,在spring-boot的機制里面,會查找classpath下面的application.properties文件進(jìn)行屬性讀取。
那第一個問題來了,還有哪些屬性可以修改?這些屬性名字都是什么?
通用屬性列表
請參考Spring 官方文檔 common-application-properties
大概就是這個樣子的:
你不妨再試一試這個屬性:
server.servlet-path=/
修改這個屬性為
server.servlet-path=/hi/
再次運行后結(jié)果如下:
我們必須在url后面加上/hi/才能正常訪問,與其描述一致。
那么接下來我們就想了,配置是否能放到其他的地方呢?如果可以,那他們的優(yōu)先級都是怎樣的呢?
屬性設(shè)置優(yōu)先級
我對工程做了一些修改,目錄結(jié)構(gòu)變成如下:
可以看到,我在 classpath/config 下又增加了一個文件,文件的名稱也叫 application.properties,里面的內(nèi)容為:
server.port=9999
我們再次運行程序:
9999生效了!而不是classpath下的application.properties配置的8888生效。
那么,application.properties都可以放在什么位置呢?優(yōu)先級又是怎樣的呢?如下所示:
- A /config subdirectory of the current directory.
- The current directory
- A classpath /config package
- The classpath root
修改配置的方式只有這一種么?如果有多種是否有優(yōu)先級?
關(guān)于配置的種類和詳細(xì)信息請參考:spring boot 官方文檔 boot-features-external-config
你只要耐心看一下就會發(fā)現(xiàn),其實很簡單,這些問題都解決了!
這就是Spring Boot的默認(rèn)配置修改方式。順序大概是這樣:
- 我要調(diào)整一下屬性
- 在官方通用屬性表中查看一下有沒有相關(guān)可以調(diào)整的屬性?
- 根據(jù)spring boot 官方文檔 boot-features-external-config選擇合適的方式配置屬性
- 修改屬性值