关于Springboot打成JAR包后读取外部配置文件的问题
Springboot的默认配置文件为:application.properties或者是application.yml
如果这两个配置文件都存在,不冲突的话,就互相补充。冲突的话,则properties优先级高。
当我们使用IDEA创建出一个Springboot项目上时,配置文件默认出现在classpath(也就是项目里的resources)目录下。

Springboot的application.properties配置文件的加载路径优先级(从高到低):
工程根目录:./config/
工程根目录:./
classpath:/config/
classpath:/
当Springboot打成JAR包(不包含配置文件),读取外部配置文件application.properties时,可以选择:
1、把application.properties放在在项目名.jar的同级目录下

2、在项目名.jar同级目录,创建一个config文件夹,把application.properties放进去。

以上仅针对application.properties这种Spriingboot默认配置文件。
当配置了一些其他的非application.properties配置文件,需要读取配置文件里的信息时,进行如下配置:
1、如果非application.properties配置文件,配置在了项目中的resource目录下,某个类读取配置文件里的信息时使用
@PropertySource(value = “classpath:xxx.properties”)
2、如果非application.properties配置文件,配置在了jar包外的目录下,某个类读取配置文件里的信息时使用
@PropertySource(value = “file:./config/timing.properties”)
此时,xxx.jar包同级目录下新建一个config文件夹,里边放了配置文件timing.properties
上一篇:Java 利用dom方式读取、创建xml详解及实例代码
栏 目:JAVA代码
本文标题:关于Springboot打成JAR包后读取外部配置文件的问题
本文地址:http://www.codeinn.net/misctech/89581.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




