SpringBoot如何读取配置文件
读取核心配置文件
application.properties application.yml
1.用@Value()读取
如果配置文件中内容如下
person.name = xiaomei
那在controller中,就可以利用如下获取配置文件中的内容
@RestController
public class WebController {
@Value("${person.name}")
private String name;
@RequestMapping("/index1")
public String index1(){
return "方式一:"+name;
}
结果如下:
在Controller类上加@RestController表示将此类中的所有视图都以JSON方式显示,类似于在视图方法上加@ResponseBody。
读取自定义配置文件信息
例如,我们在resources文件目录下创建 person.properties,里面的内容如下
author.name=Solin
author.age=22
与读取核心配置文件的区别就是,我们需要在我们的控制类上,多添加一行代码
@ConfigurationProperties(prefix = "author",locations = "classpath:person.properties")
剩下操作 全部相同。
其中有两个属性值得一说:
prefix 和 locations
prefix是配置文件中key值的前缀,在这里是anthor.
locations是指定的自定义配置文件
application.yml和application.properties之间的区别
内容格式
.properties文件,通过 . 来连接,通过=来赋值,结构上,没有分层的感觉,但比较直接。 .yml文件,通过:来分层,结构上,有比较明显的层次感,最后key赋值的:后需要留一个空格。如下
优先级
如果同时存在yml和properties文件,那么yml文件会被先加载,然后properties再被加载,properties文件就会覆盖yml文件中相同的内容,这样从我们角度来看,properties的优先级会更高。