针对小项目,非分布式没有统计配置中心,开发时候会面临打包配置不同的环境,例如我遇到的项目,在公司有测试环境,稳定环境,现场有现场测试,现场稳定环境,针对不同环境需要不同的配置。

这时候可考虑把配置抽离出来,对每个环境放对应的配置文件,且直接放在jar包外面即可。详细说明如下:

SpringBoot项目在运行时默认的配置文件application.properties是可以直接放在jar包外面的,且读取优先级如下:

config/application.properties  >  application.properties > classpath:application.properties

所以你的项目可以这样配置

spring:profiles:active: dev

然后再把application-dev.yml也放在外面且与application.yml同级。

但如上的配置之能针对住配置文件,如果有其他的配置文件怎么办呢?如下:

@Component
@ConfigurationProperties(prefix="ftp")
@PropertySource(value = {"classpath:ftp.properties","file:config/ftp.properties"},ignoreResourceNotFound =true)
@Data
public class FtpConfig {private String Host;private int Port;private String UserName;private String PassWord;
}

其最重要的是@PropertySource注解的配置,上面的ConfigProperties 属性源有两个:
“classpath:config.properties"和"file:config/config.properties”

这两个属性分别表示类路径下的配置文件和jar包外部的config文件夹下的配置文件。这里将"file:config/ftp.properties"放在后面,代表优先使用jar包外部config文件夹下的配置文件,如果没有,就使用类路径下的。在这样使用时,需要添加ignoreResourceNotFound =true 配置,避免第二个路径找不到的情况下spring boot启动时报错(找不到文件)。

关于SpringBoot项目配置文件放在jar外面总结相关推荐

  1. Spring Boot配置文件放在jar外部

    Spring Boot配置文件放在jar外部 2018年03月16日 10:09:17 qq_37334435 阅读数:1488 Spring Boot程序默认从application.propert ...

  2. 在IDEA中将SpringBoot项目打包成jar包的方法 不要用 在上面有可以用的

    在IDEA中将SpringBoot项目打包成jar包的方法 2018年03月07日 10:43:52 叶叶叶叶大爷 阅读数 71375 版权声明: https://blog.csdn.net/qq_3 ...

  3. SpringBoot配置文件放在jar外部

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:JadePeng cnblogs.com/xiaoqi/p/ ...

  4. 从新获取jar_SpringBoot配置文件放在jar外部

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:JadePeng cnblogs.com/xiaoqi/p/ ...

  5. IDEA 将 SpringBoot 项目打包成jar

    目录 一.打包配置 1.File -> Project Structure 2.Project Structure 3.设置启动类及META-INF 4.设置打包输出目录 二.打包 1.Buil ...

  6. SpringBoot项目打包成jar后读取包内文件报错问题解决方法

    文章目录 问题描述 解决办法 问题描述 Springboot项目在开发环境中,使用 ResourceUtils.getFile("classpath:files/test.xlsx" ...

  7. Springboot项目打包成jar没有jsp文件

    1.运行出错 刚刚打的jar包,运行后出错.然后使用工具查看了jar包的源码,没有jsp文件. 2. 在pom.xml中配置 出现这种情况要在pom.xml中配置Springboot项目打jar包的方 ...

  8. springboot项目打成公共jar包被其他项目单独引用(包含mybatis-plus)

    需求:公司需要对不同模块单独开发,单独引用,上网找了打包引用的方式,因为需要在打包的项目中进行数据库操作,网上找的不详细,在此记录一下,比如:A项目打成公共jar包被其他单独(B.C 等等)项目引用 ...

  9. springBoot项目配置文件加载优先级及同配置覆盖问题

    背景: 由于目前网上对于springboot配置文件的加载问题,存在着各种不同的说法.所以导致自己不敢确定到底何种结论才是真正正确的,故专门花费了一些时间进行亲自验证. 验证: 在经过自己对配置文件的 ...

最新文章

  1. ODBC访问EXCEL
  2. python 读grid 数据_科学网—Python_机器学习_总结14:Grid search - 李军的博文
  3. Java中list.forEach方法的使用示例-根据key获取对应的value
  4. python esp8266模块_ESP8266使用笔记之常用固件
  5. 温故知新----css基础
  6. 【QT】QCustomPlot图表控件
  7. jade---模板项目
  8. flink watermark 生成机制与总结
  9. word从第三页插入页码
  10. 世界名著《读懂孩子心》的读后感范文3200字
  11. 数据压缩作业:清音、浊音、爆破音频谱分析
  12. 微信/支付宝app支付相关参数
  13. 光电耦合器MOC3041
  14. [android]system.img文件的打包和解包
  15. B2C模式电商案例分享
  16. Excel表格之道 学习笔记(四)
  17. 区号组号组内块号块内地址号的计算
  18. 优雅简洁的通用排版利器:MarkDown(支持公众号、知乎等场景渲染)
  19. python怎么停止正在运行的代码_在python中,如何停止正在执行的函数中的代码?...
  20. 美国大力发展量子产业,国会直接指定能源部制定量子系统访问路线图

热门文章

  1. [转载——刘艺]做简单的人
  2. python对excel表统计视频_元组常用统计方法_【曾贤志】用Python处理Excel数据 - 第1季 基础篇_Excel视频-51CTO学院...
  3. 记录一次“迅雷的不要脸行为”--取消浏览器响应下载
  4. 40句让你坦露心声的经典句子[转载]
  5. 7种 实现web实时消息推送的方案
  6. CentosQt——ChatRoom for Neuedu
  7. Pygame播放声音与音效
  8. 重庆交通大学c语言程序设计考试,2019重庆交通大学C语言程序设计考研复试大纲...
  9. The Swift Programming Language swift 4 下载地址
  10. 手机照片怎么压缩到200k?思路提供