SpringBoot学习(2)配置文件

一:SpringBoot配置文件说明

1、SpringBoot默认支持3种配置文件,properties文件,yml文件,yaml文件,配置文件取值的优先顺序是properties>yml>yaml,配置文件遵循互补覆盖配置原则:即如果各种配置文件有配置相同属性时,会取优先级高的配置文件配置的属性,如果各种配置文件配置不同属性,则这些不同属性都会生效。举个例子:如果properties配置文件配置了属性:server.port=80,yml配置文件配置了server.port: 81和name: zhangsan,那么实际取到的属性是server.port=80和name=zhangsan

2、yml文件格式说明:

(1)大小写敏感

(2)使用缩进表示层级关系,同层级左侧对其,只允许使用空格(不允许使用tab键)

(3)属性名与属性值之间有个空格

(4)#表示注释

 

二:SpringBoot配置文件取值

1、读取yml单属性取值,可以使用@Value(${属性名})进行读取

(1)在yml文件配置一些单属性值:

(2)、在controller中读取country属性:

(3)、运行主程序类,访问hello请求,成功获取到country属性值:

2、读取yml层级属性,可以使用@Value(${层级属性名})进行读取。

(1)在yml配置层级属性userdao:

(2)在controller中读取userdao下的name属性:

(3)、重新运行主程序类,发起hello请求:

3、读取数组类属性数据,使用${属性名[数组索引]}

(1)在yml配置数组属性:

(2)读取book下的book2值:

(3)、运行主程序类,发起hello请求

4、读取数组类组装对象的属性,使用@Value(${属性名[索引值].属性名})获取

(1)、在yml配置数组组装对象的属性:

(2)在controller读取第一个对象的classname:

(3)、运行主程序。

 

5、在配置文件里引用已经定义过的属性:

 

6、一次读取yml全部属性,使用Environment类:

(1)、定义Environment变量,使用@AutoWired注解标注自动装配,然后使用enviroment.getProperty()方法获取属性:

(2)、运行主程序:

 

 

 

7、一次性读取整个引用对象类型(重点!重点!重点!

(1)、创建一个引用数据类型属性:

(2)、创建数据对应的实体类,在类上方添加@Compoment注解用于交给Spring创建对象,再添加@Data注解生成getter,setter,toString方法,再添加@ConfigurationProperties(prefix="属性名")指定加载哪个属性域

注意:使用@Data要引入lombok依赖:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.8</version>
</dependency>

3、在controller中自动注入该类类型:

4、运行主程序,发起hello请求,然后查看控制台输出:

成功获取到了DataSource的数据值。

posted @ 2022-03-30 13:46  筱筱创  阅读(327)  评论(0编辑  收藏  举报