31、springboot 配置HTTP服务端口及如何通过WebServer实例动态获取项目中的HTTP端口
配置HTTP服务端口及如何通过WebServer实例动态获取项目中的HTTP端口
★ 设置HTTP服务端口:
- server.port或者SERVER_PORT环境变量——总结来说,其实就是要配置server.port外部配置属性。▲ 同样遵守如下优先级:
这些都是外部配置源:
测试配置 > 命令行参数 > JSON配置 > 系统属性 > 环境变量 > 配置文件 > 配置类 > 默认属性▲ 随机HTTP服务端口server.port = 0即可。【备注】: 还可将server.port设为-1,这样就关闭了HTTP端口,也就无法对外提供HTTP服务。
代码示例
就是在yml配置文件中配置端口号

★ 运行时发现HTTP服务端口

要获取Web服务器相关的信息(比如HTTP端口),都可通过WebServer API来获取。▲ 为了获取WebServer实例,通常有两种方式:- A. 定义一个WebServerApplicationContext成员变量,Spring Boot会为之完成依赖注入。接下来即可通过WebServerApplicationContext来获取WebServer- B. 实现一个监听器接口:ApplicationListener<WebServerInitializedEvent>▲ 对于测试用例,其实可以更简单来获取动态端口@LocalServerPort注解即可将HTTP端口动态注入。
代码演示
需求:在项目中获取服务器的动态端口,通过获取WebServer实例来获取动态端口号。
**获取WebServer实例的方法1:**通过WebServerApplicationContext来获取WebServer

获取WebServer实例的方法2:
实现一个监听器接口:ApplicationListener 来获取项目中的动态端口号
先获取WebServer实例,再从WebServer中获取端口号。
通过实现ApplicationListener接口,来实现一个监听器类
接口的参数是泛型 -> WebServerInitializedEvent ,表示这个监听器只监听WebServerInitializedEvent这个事件(web服务器的初始化事件)
@Component: 用于标识一个类作为组件被Spring容器管理
当一个类使用@Component注解时,Spring容器会自动创建该类的实例并将该实例纳入到容器的管理中。
为了让这个springboot项目能够识别到这个监听器,那么就得把这个监听器配置成springboot中的一个bean。
用@Component注解把这个监听器组件变成springboot容器中的bean。
那么项目启动的时候,spring容器就会来检测这个bean,看是否实现了ApplicationListener这个接口,如果发现这个组件有实现这个ApplicationListener接口,就会把这个组件注册成为容器中的监听器

相关文章:
31、springboot 配置HTTP服务端口及如何通过WebServer实例动态获取项目中的HTTP端口
配置HTTP服务端口及如何通过WebServer实例动态获取项目中的HTTP端口 ★ 设置HTTP服务端口: - server.port或者SERVER_PORT环境变量——总结来说,其实就是要配置server.port外部配置属性。▲ 同样遵守如下优先级: 这些都是外部配置源&#x…...
会计如何使用ChatGPT提高工作效率
文章目录 ChatGPT改变了会计行业微软重新定义了PC交互应对ChatGPT带来的冲击给财务人员的建议总结 ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入:全栈弄潮儿的个人社…...
【TypeScript】类型推论和类型别名
类型推断 TypeScript 的类型推断是一种编译器能够自动分析代码并确定变量的类型的功能。它允许你在声明变量时省略类型注释,让 TypeScript 根据变量的值来推断出合适的类型。 以下是 TypeScript 类型推断的一些示例和情况: 基本类型推断: …...
字节码调教的入口 —— JVM 的寄生插件 javaagent 那些事
Java Instrumentation 包 Java Instrumentation 概述 Java Instrumentation 这个技术看起来非常神秘,很少有书会详细介绍。但是有很多工具是基于 Instrumentation 来实现的: APM 产品: pinpoint、skywalking、newrelic、听云的 APM 产品等都基于 Instru…...
Blender卡通着色入门
当想到 Blender 和 3D 设计时,你的想法可能会转向风格化渲染或照片级渲染和 VFX。 但是,你是否知道 Blender 还可以创建可与 2D 动漫风格和漫画书类似的图形? 推荐:用 [NSDT编辑器 快速搭建可编程3D场景 1、什么是卡通着色&#x…...
性能调优篇 一、Jvm监控及诊断工具-命令行篇
目录 一、概述1、简单命令行工具 二、jps:查看正在运行的Java程序1、是什么?2、测试3、基本语法 三、jstat:查看jvm统计信息 一、概述 性能诊断是软件工程师 1、简单命令行工具 二、jps:查看正在运行的Java程序 1、是什么&…...
Docker部署MongoDB 5.0.5
1、查看目录 rootwielun:~# tree mongo mongo ├── conf │ └── mongod.conf ├── data ├── docker-compose.yml └── logrootwielun:~# cd mongo rootwielun:~/mongo# chmod 777 log2、配置docker-compose.yml rootwielun:~/mongo# cat docker-compose.yml ve…...
Day18-2-地狱回调-Promise-async-await技术
文章目录 Promise技术一 回调函数二 异步任务三 回调地狱是什么?四 如何解决回调地狱1 PromisePromise基本用法使用Promise解决地狱回调2 async/awaitPromise技术 一 回调函数 当一个函数作为参数传入另一个函数中,并且它不会立即执行,只有当满足一定条件后该函数才可以执…...
echarts范围限制下性能问题
最近实习遇到一个问题,需要对折线图的数据进行范围限制,比如将超过100的设置为100,低于0的设置为0; 原来的代码是创建一个数组,然后遍历原数组,超过的push100,低于0的push0,在中间的…...
wazuh环境配置以及案例复现
目录 wazuh环境配置wazuh案例复现 wazuh环境配置 一、wazuh配置 1.1进入官网下载OVA启动软件 Virtual Machine (OVA) - Installation alternatives (wazuh.com) 1.2点击启动部署,傻瓜式操作 1.3通过账号:wazuh-user,密码:wazuh进…...
解决el-select回显异常 显示option选项的value 而不是显示label
1、问题 回显的value和选项value类型不同 form中v-model"form.userId"是字符串类型 option中:value“item.userId” 选项id是数字类型 2、办法 :value“item.userId” 改为 :value“item.iduserId‘’”(转换成字符串) <el-form-item l…...
【【STM32-SPI通信协议】】
STM32-SPI通信协议 STM32-SPI通信协议 •SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线 •四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISO…...
板卡常用前端 数据表操作
两年前写的,现在看,有点想吐, 数据操作表,调试设备用 采用外挂的方法,以前设备的接口命令,简易,换个UI展示很容易 自己写着玩的,公司部分产品再用,前端展示,不涉密 index.html <!doctype html> <html><head><meta chars…...
基于AVR128单片机世界电子时钟的设计
一、系统方案 上电初始化完成系统初始化,液晶滚动显示北京、莫斯科、东京、伦敦、巴黎、纽约等六个城市的标准时间,显示的内容包括地区名及相应地区的年、月、日、星期、时、分、秒。 使用K1按键控制滚动显示或稳定显示某个地区的时间。 使用K3、K4、K5按…...
Electron学习2 使用Electron-vue和Vuetify UI库
Electron学习2 使用Electron-vue和Vuetify UI库 一、Electron-vue简介二、安装yarn三、创建Electron-vue项目1. 关于 electron-builder2. 安装脚手架3. 运行4. 打包应用程序 四、background.js说明1. 引入模块和依赖:2. 注册协议:3. 创建窗口函数&#x…...
Java“牵手”根据商品分类ID获取速卖通商品分类详情页面数据获取方法,速卖通API实现批量商品数据抓取示例
速卖通商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取速卖通商品分类详情和商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问速卖通商城的网页来获取商品分类详情信息。以下…...
QT 使用图表
目录 1、概念 1.1 坐标轴-QAbstractAxis 1.2 系列-QAbstractSeries 1.3 图例-Legend 1.4 图表-QChart 1.5 视图-QChartView 2、 QT 折线图 2.1 Qt 折线图介绍 2.2 Qt 折线图实现 Qt 图表是专门用来数据可视化的控件 Qt 图表包含折线、饼图、棒图、散点图、范围图等。…...
SSRF 服务器端请求伪造
文章目录 SSRF(curl)网址访问通过file协议访问本地文件dict协议扫描内网主机开放端口 SSRF(file_get_content)网站访问http协议请求内网资源通过file协议访问本地文件 SSRF(Server-Side Request Forgery:服务器端请求伪造) 其形成的原因大都是由于服务端提供了从其他服务器应用…...
shell 05(shell索引数组变量)
一、数组 shell 支持数组 (Array),数组是若干数据的集合,其中的每一份数据都称为数组的元素. 注意Bash shell 只支持一维数组,不支持多维数组。 在 Shell 中,用括号( )来表示数组,数组元素之间用空格来分隔. 语法为&…...
爬虫异常处理:异常捕获与容错机制设计
作为一名专业的爬虫程序员,每天使用爬虫IP面对各种异常情况是我们每天都会遇到的事情。 在爬取数据的过程中,我们经常会遇到网络错误、页面结构变化、被反爬虫机制拦截等问题。在这篇文章中,我将和大家分享一些关于如何处理爬虫异常情况的经…...
4大核心能力赋能企业级视频资源管理:抖音批量下载工具的技术实现与商业价值
4大核心能力赋能企业级视频资源管理:抖音批量下载工具的技术实现与商业价值 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 在数字化内容爆发的时代,企业级视频资源管理面临着效率与成…...
w3x2lni技术指南:魔兽地图跨版本转换的实现与实践
w3x2lni技术指南:魔兽地图跨版本转换的实现与实践 【免费下载链接】w3x2lni 魔兽地图格式转换工具 项目地址: https://gitcode.com/gh_mirrors/w3/w3x2lni 技术原理:跨版本转换的底层架构 w3x2lni作为魔兽地图格式转换的专业工具,其核…...
Cogito-v1-preview-llama-3B效果展示:中英日法等30+语言生成质量对比
Cogito-v1-preview-llama-3B效果展示:中英日法等30语言生成质量对比 1. 模型核心能力概览 Cogito v1预览版是Deep Cogito推出的混合推理模型系列,在大多数标准基准测试中均超越了同等规模下最优的开源模型。这个3B参数的模型在编码、STEM、指令执行和通…...
Java初学者项目需要哪些技术?
对于Java初学者,以下技术栈组合既能满足学习需求,又能完成完整项目开发:核心基础Java语法基础掌握变量、循环、条件语句面向对象三大特性:封装、继承、多态集合框架:$ArrayList$、$HashMap$等异常处理机制开发工具IDE&…...
Llama-3.2V-11B-cot快速部署:单命令启动+自动加载双卡4090
Llama-3.2V-11B-cot快速部署:单命令启动自动加载双卡4090 1. 项目概述 Llama-3.2V-11B-cot是基于Meta Llama-3.2V-11B-cot多模态大模型开发的高性能视觉推理工具,专为双卡4090环境深度优化。这个工具解决了传统大模型部署中的几个关键痛点:…...
Qwen3-0.6B-FP8代理能力展示:调用计算器、查天气、解析PDF的Chainlit实录
Qwen3-0.6B-FP8代理能力展示:调用计算器、查天气、解析PDF的Chainlit实录 1. 引言:当小模型遇上大智慧 你可能听过很多关于大语言模型的讨论,动辄几十亿、上百亿参数,感觉它们无所不能。但今天我想和你聊聊一个不太一样的模型—…...
Cesium使用
Cesium官网:https://cesiumjs.org 官方API文档:https://cesium.com/learn/ion-sdk/ref-doc 中文API文档:https://cesium.xin/cesium/cn/Documentation1.95 https://cesium.xin Cesium中文社区:http://cesiumcn.org …...
Simple Runtime Window Editor:突破窗口分辨率限制的技术实现与应用指南
Simple Runtime Window Editor:突破窗口分辨率限制的技术实现与应用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 一、场景化问题诊断:分辨率调整的现实挑战 1.1 专业设计工作流的…...
焕新Windows资源管理器:打造惊艳毛玻璃视觉体验
焕新Windows资源管理器:打造惊艳毛玻璃视觉体验 【免费下载链接】ExplorerBlurMica Add background Blur effect or Acrylic (Mica for win11) effect to explorer for win10 and win11 项目地址: https://gitcode.com/gh_mirrors/ex/ExplorerBlurMica 每天面…...
OpenClaw定时任务:利用GLM-4.7-Flash实现智能日程管理
OpenClaw定时任务:利用GLM-4.7-Flash实现智能日程管理 1. 为什么需要智能化的定时任务 记得上个月我连续错过了三个重要会议,原因很简单——手动设置的日历提醒被其他通知淹没了。这种经历让我开始寻找更智能的解决方案。传统定时工具只能机械地执行预…...
