主題
初學SpringBoot,想要配置一下tomcat的端口,以前tomcat直接在它的XML里配置就好了.現在SpringBoot直接繼承了,不知道哪里配置.后來找到解決方法,記錄一下.
具體方法
一開始肯定網上百度一下:發現一大堆文章.基本都介紹了.只要在application.properties里加上servler.port=XXX就可以配置完成了.so easy.
但是我一直有一些疑問...基本上所有文章里都沒有寫..
憑什么是server.port而不是tomcat.port?
除了server.port我還能配置什么? why?????
嘗試了一下以后我有一點小發現:
1.IDEA里是有自動提示的..這點很爽...所以不用擔心記住配置名稱
2.雖然自動提示很好用.但是還有有一丟丟小毛病的..就是這個功能是IDEA提供的...我不知道它什么原理...哪天他不支持了我不是GG了么...(雖然感覺不太可能)
繼續研究了下..
如果我沒理解錯的話(初學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參數配置的學習..