我们在项目部署过程中通常会有两套配置文件

  • jar包内
    • [a] application.properties
    • [b] application-dev.properties
  • 与jar包同目录的config文件夹下有一套
    • [c] application.properties
    • [d] application-dev.properties

他们的优先级为:

d > b > c > a

也就是说如果存在相同的配置,那么优先级较高的会覆盖优先级较低的配置。
例:jar包内
[a] application.properties:

app-name1=a
app-name2=a
app-name3=a
app-name4=a

[b] application-dev.properties:

app-name3=b
app-name4=b
app-name5=b
app-name6=b

与jar包同目录的config文件夹:

[c] application.properties:

app-name2=c
app-name3=c
app-name4=c
app-name5=c

[d] application-dev.properties:

app-name4=d
app-name5=d
app-name6=d
app-name7=d

最终程序执行读取到的配置文件为:

app-name1=a
app-name2=c
app-name3=b
app-name4=d
app-name5=d
app-name6=d
app-name7=d