欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Springboot加载配置文件优先级以及类路径和项目路径区别

时间:2023-06-16
Spring官方文档地址:

   https://docs.spring.io/spring-boot/docs/2.1.3.RELEASE/reference/htmlsingle/#getting-started-first-application-pom

从官网可以看到Spring默认加载配置文件优先级为如下:

当前路径config当前路径类路径config类路径

即前面的配置文件会覆盖后面的配置文件(当前路径指项目路径)

类路径(主要针对配置文件来讲)

   编译环境:就是resource下的路径,因为在项目编译后会自动将resources的文件放到target/class下面
    运行环境:指target/class
    jar包环境:一般是jar包中的BOOT-INFclasses!

当前路径

编译环境和运行环境都指的是同一个路径,即当前项目的根路径,也就是项目名称所在的路径
jar包环境:jar包所在的当前路径.

注意:
@PropertySource注解 默认加载的路径是类路径.

获取类路径和当前项目路径的简单代码.
//获取当前类路径
File file = new File(SentinelApplication8401.class.getResource("/").getPath());
System.out.println(“类路径为:”+file);
//获取当前项目路径
File file1 = new File("");
try {
String canonicalPath = file1.getCanonicalPath();
System.out.println(“项目路径为:”+ canonicalPath);
} catch (IOException e) {
e.printStackTrace();
}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。