Spring boot配置文件读取配置信息的详细分析

教程中使用到的配置文件的信息

基本上都是这些,如果换了位置,或者配置的方式,则会在前面加上config.(位置在classpath:config/)等。

Spring boot默认配置文件的位置

Spring boot配置文件读取配置信息的详细分析_第1张图片

Spring boot默认配置文件的位置有两个,一个是classpath根目录下,一个是classpath:config。

读取配置的几种方法——org.springframework.core.env.PropertyResolver.getProperty(String)

Spring boot配置文件读取配置信息的详细分析_第2张图片

以上代码还演示了如何调试配置信息不生效的问题,我们可以通过 org.springframework.core.env.ConfigurableEnvironment.getPropertySources()获得所有的配置文件。

读取配置的几种方法——注入Environment和使用注解@Value

Spring boot配置文件读取配置信息的详细分析_第3张图片

请注意Spring boot还会帮我们进行类型转换。

在配置文件中可以引用其他的变量(变量的引用)

Spring boot配置文件读取配置信息的详细分析_第4张图片

看读取出来的结果:

Spring boot配置文件读取配置信息的详细分析_第5张图片

在配置文件中没有对应的配置项,@Value会报错

User2中注入location:

Spring boot配置文件读取配置信息的详细分析_第6张图片

Spring boot配置文件读取配置信息的详细分析_第7张图片

User2这个bean无法创建成功。

默认值

默认值就不能在配置文件中进行任何的配置,如果在配置文件中配置了,那就是空字符串。

在配置项的名字后面加上:默认值:

Spring boot配置文件读取配置信息的详细分析_第8张图片

运行结果如下:


Spring boot配置文件读取配置信息的详细分析_第9张图片

ConfigurableEnvironment如下使用:

Spring boot配置文件读取配置信息的详细分析_第10张图片

更换Spring boot配置文件的位置和名字——运行参数

使用--spring.config.name:

Spring boot配置文件读取配置信息的详细分析_第11张图片

使用--spring.config.location:

Spring boot配置文件读取配置信息的详细分析_第12张图片
Paste_Image.png

更换Spring boot配置文件的位置和名字——代码配置

Spring boot配置文件读取配置信息的详细分析_第13张图片

记得一定要加上 @Configuration注解。

更换Spring boot配置文件的位置和名字——代码配置——如何配置多个

使用多个@PropertySource:

Spring boot配置文件读取配置信息的详细分析_第14张图片

使用@PropertySources:

Spring boot配置文件读取配置信息的详细分析_第15张图片

自动把配置文件中配置注入进来@ConfigurationProperties

Spring boot配置文件读取配置信息的详细分析_第16张图片

千万要记得生成get和set方法。

你可能感兴趣的:(Spring boot配置文件读取配置信息的详细分析)