springboot中获取运行端口port


💨 作者:laker,因为喜欢LOL滴神faker,又是NBA湖人队🏀(laker)粉丝儿(主要是老詹的粉丝儿),本人又姓,故取笔名:laker
❤️喜欢分享自己工作中遇到的问题和解决方案以及一些读书笔记和心得分享
🌰本人创建了微信公众号【Java大厂面试官】,用于和大家交流分享
🏰 个人微信【lakernote】,加作者备注下暗号:cv之道


前言

项目中就是有这种需求,获取运行中springboot实例占用的服务端口

如果是静态的port

application.properties文件中

server.port=7777

获取方式:

@Value("${server.port}")
private int serverPort;

如果是动态的port

application.properties文件中,配置port=0,会使用随机端口

server.port=0

获取方式1

@Autowired
private ServletWebServerApplicationContext webServerAppCtxt;

int port = webServerAppCtxt.getWebServer().getPort();

获取方式2

嵌入式Web服务器启动后,将发布ServletWebServerInitializedEvent 。此事件包含有关Web服务器的信息

@Service
public class ServerPortService {
    private int port;

    public int getPort() {
        return port;
    }

    @EventListener
    public void onApplicationEvent(final ServletWebServerInitializedEvent event) {
        port = event.getWebServer().getPort();
    }
}

参考:

https://www.baeldung.com/spring-boot-running-port


QQ群【837324215】
关注我的公众号【Java大厂面试官】,回复:常用工具资源等关键词(更多关键词,关注后注意提示信息)获取更多免费资料。

公众号也会持续输出高质量文章,和大家共同进步。

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-26 18:54
说等下个版本吧的发呆爱好者很贪睡:佬最后去了哪家呀
点赞 评论 收藏
分享
挣K存W养DOG:他真的很中意你,为什么不回他
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务