【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】
之前我们已经实现了在开发环境中,修改项目启动的临时属性。问题来了

我们在研发的时候配了右边的属性,但是真正上线的时候,经理就不一定想这些值了
【这两件事需求就完全不一样了】
【想想如果用临时命令,…不不不,万一还输错了…不不不】
SpringBoot 给我们提供了解决上述问题的方案
在resource 目录下创建一个名为config 的目录

直接复制进去改一下

OK。直接启动

神奇的事情发生了,8083生效了
【注意】这两个配置文件是“合作”的
即相同就覆盖【高级别盖低级别】,不同就叠加
看看现在是否可以正常使用

没毛病【这样就可以实现外层的给程序员用,config 目录下的配置文件可以给项目经理用,在上线前,做最后的确认】
【新问题又来了】

数据库这些信息,在真正上线时是肯定不会用这个的
怎么解决
先打个包

启动

没问题,81生效了【经理的生效了】
现在把我们自己的配置文件复制一个到target 目录中


拿不拿都行,笔者这里还是拿一下吧

启动这个项目

神奇的事情又发生了,这次80生效了,config目录下的配置东西都没辙了
改一下,验证一下

再次启动

OK。这样配置文件就又多了一级
在工程文件的同层目录下的配置文件【它会覆盖开发时的所有配置】
【三级了】
【还有】
在现在这个目录中再创建一个config 目录

把这个目录中的配置文件修改成8888

再次运行

绝了【这一级就是最高级别了】
回顾一下
SpringBoot中4级配置文件
作用:
这里就有个神奇的扩展的了
如果yml与properties在不同层级中共存会是什么效果?
例:类路径application.properties属性是否覆盖文件系统config目录中application.yml属性【可恶啊, 老师不帮忙给下结论】【笔者就做下这个】
重新打包
替换
OK,直接启动
可以看到还是8888,牛逼