Spring Boot默认会加载application.properties
文件中的配置(还有一种文件后缀为yml也会加载)
在创建一个Spring Boot项目后,会在resources路径下自动生成一个application.properties
文件
除了自动生成的路径下,Spring Boot还会自动加载其他三个地方的同名配置文件,分别是:
1. file:./config/
根目录下的config目录
2. file:./
根目录
3. classpath:/config/
classpath路径下的config目录
4. classpath:/
classpath路径
以上按优先级从高到低排序
并不意味着当同时存在多个配置文件时,只读取优先级最高的配置文件
而是指多个配置文件中存在相同配置项的时候,高优先级的配置会覆盖低优先级,低优先级配置文件中的不同名属性还是生效的
例如:
在根目录的配置文件中设置了name=demo
,在resources的配置文件中设置了name=test
以及age=19
@RestController
@SpringBootApplication
public class DemoApplication {
@Value("${name}")
private String name;
@Value("${age}")
private String age;
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello() {
return name + ":" + age;
}
}
按照预期,输出结果应该为 demo:19
启动程序,访问 http://localhost:8080/hello
页面展示符合预期
配置文件格式说明
application.properties
文件
格式
key=value
application.yml
文件
格式
key0: value(注意:`冒号`与`value`之间有一个`空格`)
key:
key1: value1
key2: value2