網紅框架SpringBoot2.x之定製參數淺析(一)

咱們都知道,SpringBoot框架最吸引人的地方之一就是他針對各類框架組件集成都提供了缺省的配置,「零配置」集成和開發是它的終極目標。理論上你不作任何特殊配置,均可以啓動項目。java

若是你用SpringBoot用於web項目開發,那麼他就已經內嵌了web容器,無需你單獨部署到tomcat或者jetty等容器中,打包成jar包便可運行,省去了反鎖的打包部署流程。默認狀況下,由SpringBoot啓動的web項目,默認端口是8080,這也是tomcat或jetty的默認端口。那麼問題來了,我要改端口怎麼辦,這是必然會遇到的問題。web

還記得運行SpringBoot項目時,須要編寫的main方法嗎,當時的代碼是這樣的:redis

@SpringBootApplication
public class Application {
    public static void main(String[] args){
        SpringApplication.run(Application.class, args);
    }
}

注意,這是一個main方法,動態傳入啓動參數,這跟普通運行一個java程序沒什麼區別。args就是他的啓動參數,它是一個數組,能夠帶一個或多個參數。
那這個參數是用來作什麼的?既然springboot默認作好了大部分的配置,那麼要修改這些配置,就是經過傳入main方法執行的參數將覆蓋框架自動爲你作好的配置。spring

好比,你能夠用以下的相似代碼,來修改你啓動項目的端口:數組

java -jar xxx.jar --server.port=8888

再好比,你能夠以下的相似代碼,來修改你啓動的項目在控制檯輸出的logo,tomcat

java -jar xxx.jar --spring.banner.location=classpath:banner.txt

最終的效果也就是把啓動時,你常常看到的這個
filespringboot

替換成了這個:
file微信

諸如此類,還能夠定製其餘不少默認設置,固然有些須要在pom文件中添加相應的模塊依賴,才能使用相應的功能。好比你用到了redis,那麼你須要添加
spring-boot-starter-data-redis來把redis的默認設置先加載進來,在這基礎上,你就能夠編寫定製參數,好比:框架

java -jar xxx.jar --spring.redis.port=6379

注意,命令的格式是:eclipse

#參數須要跟在jar包名稱以後以--開頭
java -jar xxx.jar --參數名=參數值

你也能夠在運行時,同時添加多個定製參數(以空格隔開),好比把上述幾個例子合併起來就是:

java -jar xxx.jar --server.port=8888 --spring.banner.location=classpath:banner.txt --spring.redis.port=6379

理論上,能支持定製的參數,均可以添加。

附帶說一句,用IDEA或者Myeclipse這樣的IDE幫你運行項目的時候,其原理也是如此。

那麼,如今就有兩個問題出現了。

一、我怎麼知道springboot支持哪些定製參數?

二、這麼多參數,都寫到運行命令上嗎?那樣豈不是會顯得很臃腫,貌似一點都不優雅?

這兩個問題,留到下次再談。

關注弈碼當先微信公衆號獲取更多幹貨

本文由 弈碼當先 www.root1024.com 獨家發佈!

相關文章
相關標籤/搜索