springboot 獲取本機IP、埠號、專案名
阿新 • • 發佈:2022-01-26
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; }
寫在最後
哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!