11-SpringBoot属性配置文件读取和多环境配置
1、关于springboot中配置文件(properties或者是yaml文件)读取位置
我们在idea-springboot工程中新建一个c-springboot-config模块进行测试
根据官方文档可知,springboot会从下面四个路径读取配置文件
1、file:./config/ :表示可以读取项目路径下根路径的config目录中的配置文件
2、file:./ :表示可以读取项目路径下根路径的配置文件
3、classpath:/config :表示可以读取类路径下根路径的config目录中的配置文件
4、classpath:/ :表示可以读取类路径下根路径的配置文件
优先级按照上面的排序自上而下降低
其中file指的是项目路径或者说该模块路径:即c-springboot-config这个模块的路径
classpath指的就是类路径:就是java目录或者resource目录下(一般我们是放在resource目录中),编译后生成的target目录中存储的就是这两个目录中的东西
我们在该模块的四个位置添加yaml配置文件,测试那个点优先级高
测试的时候在项目路径中单配置文件没有生效,具体原因尚在探寻中
2、多环境配置文件的选择
有时候我们在开发时,我们需要在不同环境下进行切换开发,比如测试环境、生产环境等,在不同环境真好切换,就需要读取不同的配置文件来进行开发调试。具体实现如下
-
第一种:properties类型配置文件的多配置文件模式
我们在resource目录在现有application.properties配置文件的前提下新增两个环境的配置文件:
application-dev.properties:表示的事开发环境使用的
application-test.properties:表示的事测试环境下使用的
-
第二种:yaml/yml类型配置文件的多文档配置模式
第一种方式需要写的配置文件很多,环境较多的时候不方便,一般我们使用第二种
只需要在yaml文件中写多个文档模块进行区分就好了,使用---来进行一个yaml文件中不同的模块