1.有哪些配置文件?
- applicatin.yml或者application.properties
- bootstrap.yaml或者bootstrap.properties
2.两种配置文件的区别
- bootstrap由父ApplicationContext加载,比application配置文件优先被加载
- bootstrap中的属性不能被覆盖
- application中一般放一些springboot项目中的自动化配置
- bootstrap
- 使用springcloud的时候,我们可以使用配置中心,如config、nacos来管理配置,可以用bootstrap来加载配置中心中的配置
- 加载一些不能被覆盖的属性
- 加载一些加密/解密数据
3.加载配置文件的方式
- 读取默认配置文件:
- 可以注入Environment类,通过getProperty(String key)方法获取key对应的value
- @Value(${key.value})直接获取
- 读取自定义配置文件
- 要求自定义配置文件的后缀必须是.properties
- 编写和自定义配置文件对应的java类,类上放3个注解
- @ConfigurationProperties("前缀")
- @PropertySource("指定配置文件")
- @Component
- 读取的时候和读取默认配置文件一样