【Spring Boot配置终极指南】1分钟让你精准指定配置文件,使应用部署游刃有余!

关注我的公众号:【编程朝花夕拾】,可获取首发内容。

01 引言

接上一期,打包好的Jar 包,启动时,如何加载外部配置文件呢?

技术上,在使用别人开源的工具时,开源工具都会将配置文件暴露在外面,提供给使用者修改配置。

下来我们一起了解一下:如何精准指定配置文件,让部署更方便呢?

02 实战方法详解

插件开发好后,会打成jar 包:jdbc-loadbalance-1.0.0.jar

上面的jar包就类似的开源的工具类。现在要做就是如何让运维能够根据自己的情况,修改配置文件中数据库的链接。下面来介绍常用的两种方法。

2.1 命令行直接指定

bash 复制代码
java -jar jdbc-loadbalance-1.0.0.jar \
--spring.config.name=myconfig \       # 指定配置文件名(无需扩展名)
--spring.config.location=classpath:/config/,file:/opt/config/

优势 :优先级最高,实时生效 ⚠️ 注意 :路径支持classpath:file:URL格式

2.2 通过-D参数传递系统属性

bash 复制代码
java -Dspring.config.location=file:/etc/app/conf/ \
     -jar jdbc-loadbalance-1.0.0.jar.jar

适用场景:与CI/CD工具(Jenkins、GitLab CI)集成

2.3 命令的优先级

  • 命令行参数(--key=value
  • JVM系统属性(-Dspring.config.location
  • Jar包内部的默认配置

03 落地方案

上面讲述两种都可实现,我这里选择的就是第一种方式。

先看下我的目录结构:

Jar包和配置文件放在同级目录下面。

start.bat:用户Windows环境

bash 复制代码
java -jar jdbc-loadbalance-1.0.0.jar --spring.config.location=application.properties

start.sh:用于Linux环境

bash 复制代码
#!/bin/bash
nohup java -jar jdbc-loadbalance-1.0.0.jar --spring.config.location=application.properties >loadbalance.log 2>&1 &
echo '>>>>>>>>>>jdbc-loadbalance started'
echo '>>>>>>>>>>查看端口或者loadbalance.log日志,确定启动成功后,访问:localhost:8080/index.html'

readme.txt:说明运行的环境以及注意事项

04 小结

Jar包加载外部配置文件,你学会了么?赶紧去开发属于自己的小插件吧

相关推荐
熊大如如3 小时前
Java 反射
java·开发语言
猿来入此小猿3 小时前
基于SSM实现的健身房系统功能实现十六
java·毕业设计·ssm·毕业源码·免费学习·猿来入此·健身平台
goTsHgo3 小时前
Spring Boot 自动装配原理详解
java·spring boot
卑微的Coder4 小时前
JMeter同步定时器 模拟多用户并发访问场景
java·jmeter·压力测试
pjx9874 小时前
微服务的“导航系统”:使用Spring Cloud Eureka实现服务注册与发现
java·spring cloud·微服务·eureka
炒空心菜菜4 小时前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark
多多*4 小时前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle
爱喝酸奶的桃酥4 小时前
MYSQL数据库集群高可用和数据监控平台
java·数据库·mysql
唐僧洗头爱飘柔95275 小时前
【SSM-SSM整合】将Spring、SpringMVC、Mybatis三者进行整合;本文阐述了几个核心原理知识点,附带对应的源码以及描述解析
java·spring·mybatis·springmvc·动态代理·ioc容器·视图控制器
骑牛小道士5 小时前
Java基础 集合框架 Collection接口和抽象类AbstractCollection
java