1. SpringBoot的核心注解。
1.@SpringBootApplication
标注在启动类,是@SpringBootConfiguration和@EnableAutoConfiguration和@Componentscan的组合。
2.SpringBootConfiguration
组合了@configuration注解,实现了配置文件的功能。
3.@EnableAutoConfiguration
自动配置,这个注解告诉SpringBoot根据添加的jar依赖猜测你想如何配置Spring。
2.SpringBoot的核心配置文件以及区别。
application和bootstrap配置文件。
application 配置文件:主要用于Spring Boot项目的自动化配置。
bootstrap 配置文件:有以下几个应用场景:
使用Spring Cloud Config配置中心时,这时需要在bootstrap配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;一些固定的不能被覆盖的属性;一些加密/解密的场景。
bootstrap 先于 application 加载
3. SpringBoot读取配置的方式
@PropertySource(不支持yml文件读取)
@Value
@Environment
@ConfigurationProperties
4. Spring Boot 的配置文件
properties 和 yml
它们的区别主要是书写格式不同。另外,yml 格式不支持 @PropertySource
注解导入配置。
5. 配置文件加载顺序
-
按文件类型:
-
properties文件;
-
YAML文件;
-
系统环境变量;
-
命令行参数;
-
-
按文件放置位置:
项目根目录下的配置文件优先级最高,classpath 下的配置文件优先级次之。
同目录下的config文件夹中的配置文件优先级高:
- 项目根目录下的 config文件夹中的配置文件优先级高于资源根目录下的配置文件
- classpath下的 config文件夹中的配置文件优先级高于classpath根目录下的配置文件
注:当四个目录下都有配置文件时,相同配置会被优先级最高的配置文件覆盖,不同配置会进行互补而不是覆盖!