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大厂面试官】,回复:常用工具、资源等关键词(更多关键词,关注后注意提示信息)获取更多免费资料。
公众号也会持续输出高质量文章,和大家共同进步。