autoconfig.xml与antx.properties一级application.properties之间的关系

项目启动时,autoconfig.xml用于生成或更新antx.properties,新增配置但不覆盖已有项。若antx.properties缺少对应配置,将默认值defaultValue写入。
Java web项目中一般都有配置文件,文件中包含一些配置信息供Java工程启动和运行时使用,这些常见的配置文件大都是一些以.properties后缀的文件,比如常见的antx.properties以及application.properties。当然也可以使用一些自动化配置工具,如autoConfig。那么这三者之间有什么关系呢?

autoconfig.xml和antx.properties之间关系:
autoconfig.xml中<property>属性下存在名值对,即name:defaultValue,这些名值对是怎样起作用的呢?

1) 如果antx.properties中没有对应的name,则自动化配置工具会在antx.properties中新增对应的键值对,也就是这个name:defaultValue键值对

2)如果antx.properties中已经存在对应的name,则什么都不做,自动化配置工具不会对name对应的值进行修改;

3)如果在antx.propertiesautoConfig.xml中都存在一个name,并且在autoConfig.xml中修改了这个name对应的值,则autoconfig中的修改不会反映到antx中;

总之:autoconfig的最主要的功能是在antx中增加原来antx中不存在的键值对,而不会覆盖本地已有的配置。这个逻辑是符合常识的,如果我在本地为antx的某个变量配置了值,那么这个配置一定是对我当前本地工程有效的并且适合我的当前的项目环境的,所以不希望被autoconfig覆盖。

defaultValue:

在本地环境中,项目启动时会根据autoconfig文件生成或者修改 antx.properties文件修改主要是添加名值对,不会覆盖原来的名值对如果antx.properties文件中没有对应的name,则会把antoconfig.xml中的name:defaultValue复制到antx.properties中,即直接使用那些defaultvalue。这是defaultValue的主要作用。


springboot 的application.properties和antx.properties

springboot的application.properties文件会取antx.properties去对应的配置值。

结论:

因此可以得到这三者之间的顺序以及关系:autoconfig---->antx----->application。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值