springboot项目灵活化配置文件的各种ip端口

本文介绍了一种将配置文件中固定的IP地址改为变量的方法,通过这种方式,可以简化打包过程中的配置更改工作,使得测试人员能够更方便地指定不同的IP地址。

事件起源,公司的测试每次打包都需要开发帮忙打包,然而每次打包呢,开发这边都得把mysql的ip,memcached的ip等各种ip先修改成测试想要的再打包,这样肯定麻烦啊。后来测试就想能不能把这调整一下,省的麻烦。后来,当然是灵感一闪啦......

我想着就是把各个写死的ip,用一个公共变量替代。然而没实现过,经过摸索摸索实现了,现在记录一下。

上面截图的mysql的ip,以前是写死的,比如为127.0.01,经过修改就可以设置成变量了。配置文件还得加些东西,不然这些变量不会凭空产生的对吧。

这样我们在一个地方写ip就可以了。

对于测试的好处就是,我们打包完,他们用java -jar xxx.jar --dev.mysql.host=xxx  就可以指定ip了。解决的打包就要替换数据的麻烦。

### 如何在Spring Boot单体应用程序中配置和暴露HTTP端口 #### 使用application.properties文件配置端口 对于希望更改默认8080端口的情况,在`src/main/resources/application.properties`或`application.yml`文件内指定不同的HTTP端口号是一种常见做法。具体来说,通过设置`server.port`属性来定义服务启动时所使用的TCP/IP端口。 ```properties # application.properties 文件中的配置方式 server.port=9090 ``` 如果采用YAML格式,则可以这样写: ```yaml # application.yml 文件中的配置方法 server: port: 9090 ``` 以上两种形式均能有效改变应用运行期间对外提供Web访问接口的地址[^1]。 #### 动态设定端口 除了静态地硬编码端口数值外,还可以利用环境变量或者命令行参数的形式动态传递给程序。这使得在同一台机器上测试不同版本的应用成为可能,同时也便于容器化部署场景下的灵活调整。 当从外部传入端口值时,只需确保该键名与内置属性名称相匹配即可生效。例如,在Linux/Unix系统下可以通过如下方式进行临时修改: ```bash export SERVER_PORT=8085 && java -jar myapp.jar ``` 而在Windows环境下则应使用`set`指令代替`export`: ```cmd set SERVER_PORT=8085 & java -jar myapp.jar ``` 另外一种更为推荐的方式是在执行JAR包之前附加相应的JVM参数: ```bash java -Dserver.port=8087 -jar myapp.jar ``` 这种方式不仅适用于本地调试也适合生产环境中自动化运维工具集成调用[^3]。 #### 多端口监听实现 针对更复杂的需求——即让同一个Spring Boot实例能够同时监听多个网络端点的情形,虽然官方并不直接支持此功能,但仍可通过自定义嵌入式服务器工厂Bean以及重载部分核心组件的方式来达成目的。不过需要注意的是这种高级定制可能会增加维护成本并影响到某些依赖于单一入口点特性的第三方库兼容性问题。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值