如何将外部.cfg配置文件引入application.properties?
解决外部.cfg文件及resources内配置文件的引入问题
一、加载resources目录下的.cfg文件
直接在application.properties中给配置项加上classpath:前缀即可:
appconfig=classpath:config.cfg
Spring Boot会自动识别classpath:前缀,从项目的src/main/resources目录下加载对应的配置文件。
二、加载外部的.cfg文件
根据外部文件的位置,有几种配置方式:
- 绝对路径配置:直接写入文件的完整路径,适配不同系统:
# Linux/macOS 示例 appconfig=/opt/myapp/config.cfg # Windows 示例 appconfig=C:/projects/myapp/config.cfg - 相对路径配置:如果.cfg文件和你的Jar包在同一目录下,直接写文件名或相对路径:
appconfig=config.cfg # 或者明确指定当前目录 appconfig=./config.cfg - 通过系统/环境变量引入:先设置系统变量或环境变量,再在配置中引用:
# 引用系统变量 APP_CONFIG_PATH appconfig=${APP_CONFIG_PATH}
三、代码中读取该配置文件
如果需要在代码中加载这个.cfg文件的配置项,可以结合@PropertySource注解:
@Configuration @PropertySource(value = "${appconfig}", ignoreResourceNotFound = false) public class AppConfig { @Value("${your.config.item}") private String configItem; // 后续使用configItem即可 }
这里${appconfig}会自动读取application.properties中配置的路径,加载对应的.cfg文件。
内容的提问来源于stack exchange,提问作者Neha
相关产品推荐
相关产品推荐

