springBoot server.port=-1的含義說明
springBoot server.port=-1的含義
今天遇到這種新奇的寫法,項目是可以正常啟動的。

然而http的端口有范圍:1~65535。-1是訪問不了的
而且只要是負數(shù),最終啟動日志打印的都是
Tomcat started on port(s): -1 (http) with context path ''
那springBoot放開負一端口的含義是什么,直接到官方文檔中找答案:
明確說明了,放開-1是為了:完全關(guān)閉HTTP端點,但仍創(chuàng)建一個WebApplicationContext
還發(fā)現(xiàn)了另外一個好玩的配置:server.port=0
含義是:
掃描可用端口(使用OS本機來防止沖突)
也就是說,配置了server.port=0,項目啟動時會自動掃描可用端口,然后啟動=w=
Springboot的server.port和server.http.port
需求
最近springboot項目為了安全啟用了https,但是項目中還寫了接口供其他程序調(diào)用,這個接口必須是http的。研究發(fā)現(xiàn)原來一個springboot項目是可以有一個http端口和一個https端口的。
正文
配置文件如下:
#http port server.http.port=1234 #https port server.port=1233
項目啟動的時候使用的是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;
}
}
之后寫接口的時候便可以使用這個端口了。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Myeclipse部署Tomcat_動力節(jié)點Java學院整理
這篇文章給大家介紹了Myeclipse部署Tomcat的相關(guān)知識,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧2017-07-07
Spring boot+mybatis+thymeleaf 實現(xiàn)登錄注冊增刪改查功能的示例代碼
這篇文章主要介紹了Spring boot+mybatis+thymeleaf 實現(xiàn)登錄注冊增刪改查功能的示例代碼,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
Java class文件格式之屬性詳解_動力節(jié)點java學院整理
這篇文章主要介紹了Java class文件格式之屬性詳解,需要的朋友可以參考下2017-06-06
Java Spring Boot實現(xiàn)簡易掃碼登錄詳解
這篇文章主要為大家詳細介紹了java Spring Boot實現(xiàn)app掃碼登錄功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-09-09
Java SpringBoot整合Canal實現(xiàn)數(shù)據(jù)同步方式
本文介紹了如何開啟和配置Canal,以及如何在Spring Boot中集成Canal,Canal是一種基于MySQL的數(shù)據(jù)庫變更解析工具,可以將數(shù)據(jù)庫的變更事件發(fā)送到Kafka、RocketMQ等消息隊列中,用于數(shù)據(jù)分析和挖掘2025-02-02
java中BigDecimal的介紹及使用教程BigDecimal格式化及BigDecimal常見問題
BigDecimal是Java在java.math包中提供的線程安全的API類,用來對超過16位有效位的數(shù)進行精確的運算,這篇文章主要介紹了java中BigDecimal的介紹及使用,BigDecimal格式化,BigDecimal常見問題,需要的朋友可以參考下2023-08-08

