springboot 獲取本機IP、端口號、項目名


1.情景展示

使用springboot內置的tomcat啟動項目,如何獲取本地IP地址、項目端口號以及項目名稱?

2.獲取本地IP

try {
    String hostAddress = Inet4Address.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
    e.printStackTrace();
}

3.獲取項目端口號

第一步:在要獲取IP的java類當中,注入對象Environment;

import org.springframework.core.env.Environment;
import javax.annotation.Resource;
@Resource
Environment environment;

第二步:代碼實現。

String port = environment.getProperty("server.port");

4.獲取項目名稱

String contextPath = environment.getProperty("server.servlet.context-path");
if (contextPath == null) {
    contextPath = "";
}

5.整合

/**
 * 獲取springboot項目的訪問地址
 * @attention: springboot項目使用的是內置的tomcat啟動時,本方法有效
 * @date: 2022/1/26 17:02
 * @param: environment
 * @return: java.lang.String 項目訪問地址
 * 構成:protocol://ip:port/contextPath
 */
@NotNull
public static String getAccessPath (@NotNull Environment environment) {
    String networkProtocol = "";
    String ip = "";
    String port = "";
    String webApp = "";
    try {
        // 網絡協議
        networkProtocol = "http";
        // 局域網ip
        ip = Inet4Address.getLocalHost().getHostAddress();
        // 端口號
        port = environment.getProperty("server.port");
        // 項目發布名稱
        webApp = environment.getProperty("server.servlet.context-path");
        if (webApp == null) {
            webApp = "";
        }
    } catch (UnknownHostException e) {
        e.printStackTrace();
        log.error(e.getMessage());
    }

    log.info("項目訪問地址是:{}://{}:{}{}", networkProtocol, ip, port, webApp);
    return networkProtocol + "://" + ip + ":" + port + webApp;
}

 

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM