springBoot server.port=-1的含義說明
springBoot server.port=-1的含義
今天遇到這種新奇的寫法,項(xiàng)目是可以正常啟動的。
然而http的端口有范圍:1~65535。-1是訪問不了的
而且只要是負(fù)數(shù),最終啟動日志打印的都是
Tomcat started on port(s): -1 (http) with context path ''
那springBoot放開負(fù)一端口的含義是什么,直接到官方文檔中找答案:
明確說明了,放開-1是為了:完全關(guān)閉HTTP端點(diǎn),但仍創(chuàng)建一個WebApplicationContext
還發(fā)現(xiàn)了另外一個好玩的配置:server.port=0
含義是:
掃描可用端口(使用OS本機(jī)來防止沖突)
也就是說,配置了server.port=0,項(xiàng)目啟動時(shí)會自動掃描可用端口,然后啟動=w=
Springboot的server.port和server.http.port
需求
最近springboot項(xiàng)目為了安全啟用了https,但是項(xiàng)目中還寫了接口供其他程序調(diào)用,這個接口必須是http的。研究發(fā)現(xiàn)原來一個springboot項(xiàng)目是可以有一個http端口和一個https端口的。
正文
配置文件如下:
#http port server.http.port=1234 #https port server.port=1233
項(xiàng)目啟動的時(shí)候使用的是server.port端口。
配置的http端口要想使用需要寫下面這樣一個配置類:
import org.apache.catalina.connector.Connector; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.boot.web.servlet.server.ServletWebServerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class HttpsConfig { @Value("${server.http.port}") private Integer httpPort; @Bean public ServletWebServerFactory serverFactory() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addAdditionalTomcatConnectors(createStandardConnector()); return tomcat; } /** * 配置http * @return */ private Connector createStandardConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setPort(httpPort); return connector; } }
之后寫接口的時(shí)候便可以使用這個端口了。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java工程中使用Mybatis (工程結(jié)合Mybatis,數(shù)據(jù)結(jié)合Swing使用))
這篇文章主要介紹了Java工程中使用Mybatis (工程結(jié)合Mybatis,數(shù)據(jù)可以結(jié)合Swing使用),需要的朋友可以參考下2017-04-04Mybatis CachingExecutor二級緩存使用示例詳解
這篇文章主要介紹了?Mybatis的CachingExecutor與二級緩存使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Java數(shù)據(jù)類型轉(zhuǎn)換實(shí)例解析
這篇文章主要介紹了Java數(shù)據(jù)類型轉(zhuǎn)換實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11解決Druid動態(tài)數(shù)據(jù)源配置重復(fù)刷錯誤日志的問題
使用druid數(shù)據(jù)庫連接池實(shí)現(xiàn)動態(tài)的配置數(shù)據(jù)源功能,在配置過程中出現(xiàn)一個問題既然是用戶自己配置的數(shù)據(jù)源,就無法避免輸入錯誤,連接失敗等情況,關(guān)于這個問題怎么處理呢,今天小編通過本文給大家詳細(xì)說明下,感興趣的朋友一起看看吧2021-05-05Java單元測試Powermockito和Mockito使用總結(jié)
公司單元測試框架選用了Junit 4.12,Mock框架選用了Mockito和PowerMock,本文主要介紹了Java單元測試Powermockito和Mockito使用總結(jié),感興趣的可以了解一下2021-09-09Java中Caffeine本地緩存項(xiàng)目實(shí)例
這篇文章主要介紹了Java中Caffeine本地緩存項(xiàng)目實(shí)例,Caffeine是一個高性能Java 緩存庫,使用Java8對Guava緩存重寫版本,在Spring Boot 2.0中將取代Guava,使用spring.cache.cache-names屬性可以在啟動時(shí)創(chuàng)建緩存,需要的朋友可以參考下2023-10-10Java應(yīng)用啟動停止重啟Shell腳本模板server.sh
這篇文章主要為大家介紹了Java應(yīng)用啟動、停止、重啟Shell腳本模板server.sh,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08