最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot實現(xiàn)獲取當前服務器IP及當前項目使用的端口號Port

 更新時間:2023年12月15日 09:47:35   作者:搏·夢  
這篇文章主要介紹了springboot實現(xiàn)獲取當前服務器IP及當前項目使用的端口號Port方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

如何獲取當前服務使用的IP

使用InetAddress類即可,直接看例子:

public class test {
    public static void main(String[] args) throws Exception{
        InetAddress localHost = InetAddress.getLocalHost();
        System.out.println("localhost: " + localHost);
        System.out.println("getHostAddress:  " + localHost.getHostAddress());
        System.out.println("getHostName:  " + localHost.getHostName());
    }
}

獲取啟動使用的端口號

1. @Value、@ConfigurationProperties等方法 從配置文件中獲取

在配置文件中配置server.port的值,之后通過@Value、@ConfigurationProperties 等方法從配置文件中獲取

server:
  port: 8085

測試代碼:

// 配置類 注入port的值
@Configuration
@ConfigurationProperties(prefix = "server")
public class PortConfig {
    @Getter
    @Setter
    private int port;
}

@RestController
public class TestController {

	// 或者使用@Value方式注入
    @Value("${server.port}")
    private int port;

	// 依賴配置
    @Autowired
    private PortConfig portConfig;

    @GetMapping("/test")
    public void test(){
        System.out.println(port);
        System.out.println(portConfig.getPort());
    }
}

2. 提問:如果上面配置文件中不配server.port值會發(fā)生什么?

@Value會導致啟動報錯,無法啟動項目:

把@Value注釋,啟動正常,但是**@ConfigurationProperties獲取到的值是0**

我們知道springboot默認的port是8080,如果你真的很想獲取到port,代碼只能按照下面方式寫:

if(portConfig.getPort()==0){
	port = 8080;
} else {
	port = portConfig.getPort();
}

或者
int port = portConfig.getPort()>=0?portConfig.getPort():8080;

這樣子確實也可以獲取到服務啟動實際使用的port.

3. 使用spring帶的ServerProperties類

經(jīng)過上面第二點說明,固然大家會選擇使用配置類的方式,畢竟@Value會導致項目啟動不起來,而springboot有又自帶專門存儲server開頭的配置的類ServerProperties,都不用自己創(chuàng)建一個配置類了。

如下測試代碼:

@RestController
public class TestController {

    @Autowired
    private ServerProperties serverProperties;
    
    @GetMapping("/test")
    public void test(){
        System.out.println(serverProperties.getPort());
    }
}

同理,若當配置文件中不寫 server.port配置,則默認值是null

4. 使用ServletWebServerApplicationContext類(可推薦)

ServletWebServerApplicationContext類是web的上下文,里面有很多信息可以使用。

若沒有在yaml有配置server.port,不會獲取到null 而是默認值8080(內部已幫我們處理了)

代碼:

不在yaml配置 server.pot

@RestController
public class ConfigController {
    
    @Autowired
    private ServletWebServerApplicationContext servletWebServerApplicationContext;

    @GetMapping("/testPort")
    public void testPort(){
        System.out.println(servletWebServerApplicationContext.getWebServer().getPort());
    }
}

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • java 獲取當前函數(shù)名的實現(xiàn)代碼

    java 獲取當前函數(shù)名的實現(xiàn)代碼

    以下是對使用java獲取當前函數(shù)名的實現(xiàn)代碼進行了介紹。需要的朋友可以過來參考下
    2013-08-08
  • 通過實例了解java序列化機制

    通過實例了解java序列化機制

    這篇文章主要介紹了通過實例了解java序列化機制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Java?輕松掌握字符緩沖流的使用

    Java?輕松掌握字符緩沖流的使用

    這篇文章主要介紹了Java的字符緩沖流用法,字符緩沖流的用途很多,主要是幾個構造方法的使用,在項目開發(fā)中經(jīng)常會用到,需要的朋友參考下吧
    2022-04-04
  • Java從零開始創(chuàng)建功能豐富的PDF文檔

    Java從零開始創(chuàng)建功能豐富的PDF文檔

    隨著數(shù)字化辦公的普及,PDF格式因其跨平臺兼容性和安全性而被廣泛應用于各種場景中,本文將詳細介紹如何使用Java來實現(xiàn)PDF文檔的一鍵生成,有需要的可以了解下
    2025-01-01
  • 解讀過濾器(Filter)與攔截器(Interceptor)的區(qū)別及說明

    解讀過濾器(Filter)與攔截器(Interceptor)的區(qū)別及說明

    這篇文章主要介紹了過濾器(Filter)與攔截器(Interceptor)的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-10-10
  • springboot版本升級以及解決springsecurity漏洞的問題

    springboot版本升級以及解決springsecurity漏洞的問題

    這篇文章主要介紹了springboot版本升級以及解決springsecurity漏洞的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • java中String,數(shù)組,ArrayList三者之間的轉換

    java中String,數(shù)組,ArrayList三者之間的轉換

    這篇文章主要介紹了java中String,數(shù)組,ArrayList三者之間的轉換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 基于SpringBoot實現(xiàn)一個簡易加法計算器

    基于SpringBoot實現(xiàn)一個簡易加法計算器

    本文詳細介紹了如何使用SpringBoot實現(xiàn)一個簡易的加法計算器,主要內容包括項目準備工作、項目設計、服務器代碼編寫以及項目運行,通過這個項目,讀者可以學習到SpringBoot控制器編寫、請求映射配置等核心技能,需要的朋友可以參考下
    2026-01-01
  • Java實現(xiàn)入?yún)?shù)據(jù)批量數(shù)據(jù)校驗詳解

    Java實現(xiàn)入?yún)?shù)據(jù)批量數(shù)據(jù)校驗詳解

    在業(yè)務處理中一般入?yún)⑹菃螚l數(shù)據(jù),這樣數(shù)據(jù)校驗比較容易,但是這種方法對于集合數(shù)據(jù)的校驗不適用,下面我們就來看看如何對入?yún)?shù)據(jù)進行批量數(shù)據(jù)校驗吧
    2024-02-02
  • 使用Maven將Java項目打包為Docker鏡像的實戰(zhàn)方法

    使用Maven將Java項目打包為Docker鏡像的實戰(zhàn)方法

    本文介紹了兩種使用Maven將Java項目打包為Docker鏡像的實戰(zhàn)方法: Google Jib插件方案:無需Dockerfile,直接通過Maven插件構建鏡像,優(yōu)勢包括分層構建、安全高效、鏡像體積小,特別適合SpringBoot項目,文章詳細展示了使用Maven構建Java項目并生成Docker鏡像的完整流程
    2026-02-02

最新評論

静宁县| 通渭县| 台湾省| 金山区| 宁河县| 乾安县| 桐城市| 杭锦旗| 博罗县| 广元市| 罗平县| 修武县| 平度市| 平江县| 久治县| 汕尾市| 乐陵市| 普格县| 临潭县| 周至县| 康定县| 瑞安市| 墨竹工卡县| 五家渠市| 临海市| 邢台市| 同德县| 吉木乃县| 安塞县| 墨玉县| 沭阳县| 南川市| 玉溪市| 岫岩| 循化| 焦作市| 新民市| 靖安县| 抚州市| 石嘴山市| 繁峙县|