赞
踩
server.port 或者 SERVER_PORT环境变量
——总结来说,其实就是要配置 server.port 外部配置属性。
这些都是外部配置源:
测试配置 > 命令行参数 > JSON配置 > 系统属性 > 环境变量 > 配置文件 > 配置类 > 默认属性
server.port = 0 即可。
【备注】: 还可将server.port设为-1,这样就关闭了HTTP端口,也就无法对外提供HTTP服务。
就是在yml配置文件中配置端口号
要获取Web服务器相关的信息(比如HTTP端口),都可通过WebServer API来获取。
定义一个WebServerApplicationContext成员变量,Spring Boot会为之完成依赖注入。
接下来即可通过WebServerApplicationContext来获取WebServer
实现一个监听器接口:ApplicationListener< WebServerInitializedEvent >
对于测试用例,其实可以更简单来获取动态端口
@LocalServerPort 注解即可将HTTP端口动态注入。
需求:在项目中获取服务器的动态端口,通过获取WebServer实例来获取动态端口号。
通过WebServerApplicationContext来获取WebServer
实现一个监听器接口:ApplicationListener< WebServerInitializedEvent > 来获取项目中的动态端口号
先获取WebServer实例,再从WebServer中获取端口号。
通过实现ApplicationListener接口,来实现一个监听器类
接口的参数是泛型 -> WebServerInitializedEvent ,表示这个监听器只监听WebServerInitializedEvent这个事件(web服务器的初始化事件)
@Component: 用于标识一个类作为组件被Spring容器管理
当一个类使用@Component注解时,Spring容器会自动创建该类的实例并将该实例纳入到容器的管理中。
为了让这个springboot项目能够识别到这个监听器,那么就得把这个监听器配置成springboot中的一个bean。
用@Component注解把这个监听器组件变成springboot容器中的bean。
那么项目启动的时候,spring容器就会来检测这个bean,看是否实现了ApplicationListener这个接口,如果发现这个组件有实现这个ApplicationListener接口,就会把这个组件注册成为容器中的监听器
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。