動態獲取tomcat啓動端口,控制檯打印項目訪問地址

前言

正常我們輸出項目的訪問地址,都是通過在@SpringBootApplication的啓動類中增加一個log.info來輸出項目地址.感謝網友@Gao Hang Hang 則爲我們帶來一個動態獲取tomcat端口的改造.非常有意思,所以share一下.

原始方法

package com.softdev.system.generator;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * https://github.com/moshowgame/SpringBootCodeGenerator
 * @Author zhengkai.blog.csdn.net
 **/
@SpringBootApplication
public class GeneratorWebApplication {
	public static void main(String[] args) {
		SpringApplication.run(GeneratorWebApplication.class,args);
		log.info("項目啓動啓動成功!訪問地址: http://localhost:1234/generator");
	}
}

動態改造

package com.softdev.system.generator.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.web.context.WebServerInitializedEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;

/**
 * @Description 動態獲取tomcat啓動端口,控制檯打印項目訪問地址
 * @Author Gao Hang Hang
 * @Date 2019-12-27 14:37
 **/
@Component
@Slf4j
public class ServerConfig implements ApplicationListener<WebServerInitializedEvent> {

    private int serverPort;

    public int getPort() {
        return this.serverPort;
    }

    @Override
    public void onApplicationEvent(WebServerInitializedEvent event) {
        this.serverPort = event.getWebServer().getPort();
        //log.info("Get WebServer port {}", serverPort);
        log.info("項目啓動啓動成功!訪問地址: http://localhost:{}/generator", serverPort);
    }

}
發佈了296 篇原創文章 · 獲贊 416 · 訪問量 116萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章