spring yml properties 配置文件如何生效
2016-01-01 17:09
316 查看
同一个项目下目录的优先级
A /config subdirectory of the current directory.The current directory
A classpath /config package
The classpath root
优先级越来越低
并且会合并
.properties和.yml的关系
.properties优先于.yml作用范围是属性,属性替换
当前jar包和依赖jar包的关系
当前jar包优先于依赖的jar包,并且会屏蔽掉相同目录相同名字的依赖jar包里的文件依赖jar包的优先级
这个优先级应该是在运行的时候加载的顺序导致的,我也没搞清楚优先级顺序,但是能确定的是:以文件为单位的,即在高优先级的jar包里发现了适当的文件,就会屏蔽掉低优先级的文件。项目内外和目录位置的优先级
目录位置优先级高怎么理解:就是不管是项目的jar包还是依赖的jar包,现在A classpath /config package目录下找适当的文件,如果找不到,再从The classpath root目录下找适当的文件。在每个目录下都会存在项目jar包文件屏蔽依赖jar包相同目录相同名字的文件。
example1
项目Aapplication.yml
config/application.yml
config/application.properties
项目B
application.yml
config/application.yml
config/application.properties
项目B依赖项目A的jar包
最后生效的全是项目B的配置文件和merge版本,优先级从高到低为:config/application.properties>config/application.yml>application.yml
example2
项目Aapplication.yml
项目B
config/application.yml
项目B依赖项目A的jar包
先在config目录下查找,找到项目B的config/application.yml,再找到项目A的application.yml,所以生效的是这两个配置文件的merge版本,优先级从高到低为:
config/application.yml>application.yml
相关文章推荐
- [Java开发之路](9)对象序列化与反序列化
- callback的理解与Java实例
- JAVA环境变量配置
- Spring缓存注解
- Sun JDK监控和故障处理工具.
- JAVA线程间协作:Condition
- JAVA线程间协作:Condition
- win10怎么安装java?win10系统安装java的方法
- Java ConcurrentModificationException异常原因和解决方法
- Archive for required library:xxxxx/spring-beans-3.2.4.RELEASE.jar in project XXXXX cannot be read or is not a valid ZIP file
- java调用不同package的内部类
- 常见的Java不规范代码
- MyEclipse—怎样在MyEclipse中创建servlet3.0
- 设计模式——适配器模式 Java源代码
- 35个Java代码性能优化总结
- 基于Spring+AJAX的上传文件功能的实现
- java中的this关键字
- java socket 编程
- 回调--一个经典例子让你彻彻底底理解java回调机制
- java.util.Map的衍生