初學SpringBoot,想要配置一下tomcat的端口,之前tomcat直接在它的XML裏配置就行了.如今SpringBoot直接繼承了,不知道哪裏配置.後來找到解決方法,記錄一下.spring
一開始確定網上百度一下:發現一大堆文章.基本都介紹了.只要在application.properties里加上servler.port=XXX就能夠配置完成了.so easy.tomcat
可是我一直有一些疑問...基本上全部文章裏都沒有寫..springboot
憑什麼是server.port而不是tomcat.port? app
除了server.port我還能配置什麼? why?????學習
嘗試了一下之後我有一點小發現:3d
1.IDEA裏是有自動提示的..這點很爽...因此不用擔憂記住配置名稱server
2.雖然自動提示很好用.可是還有有一丟丟小毛病的..就是這個功能是IDEA提供的...我不知道它什麼原理...哪天他不支持了我不是GG了麼...(雖然感受不太可能)對象
繼續研究了下..blog
若是我沒理解錯的話(初學SpringBoot可能有問題)...全部能配置的參數應該都寫在了這裏...不單單是tomcat的....這個文件在autoconfigure裏...因此我以爲真頗有多是這樣...繼承
再看看我新發現的1個類
我百度了一下@ConfigurationProperties這個註解.它能夠把properties自動映射到類對象...前綴是server.成員域是port..加起來是server.port...因此我以爲前面的理解應該是正確的..
後來發現
後來發現有個類叫作EmbeddedServletContainerCustomizerBeanPostProcessor,
他是1個BeanPostProcessor.當傳入的bean是ConfigurableEmbeddedServletContainer.好比內置的tomcat的時候會使用EmbeddedServletContainerCustomizer去customize這個tomcat.而ServerProperties就是1個EmbeddedServletContainerCustomizer.因此這個時候會設置servlet容器的各類屬性...
以上即是我對springboot tomcat參數配置的學習..