第一种:使用@Value注解

在application.yml文件中:

SpringBoot获取配置信息_配置文件

在Controller中注入:

SpringBoot获取配置信息_字符串_02

如果需要在配置文件中使用已有的配置可以这么来做:

SpringBoot获取配置信息_spring_03

SpringBoot获取配置信息_配置文件_04

测试结果:

SpringBoot获取配置信息_spring_05

要说明的是如果配置文件中有数值类型,注入的时候可以使用Integer类型。

第二种:使用@ConfigurationProperties

在application.yml中(实际开发一般不会写在这里):

SpringBoot获取配置信息_spring_06

注册一个类对应,如果想指定文件的话,可以在注解中加上属性    locations = "classpath:author.properties"(高版本SpringBoot移除此属性)

SpringBoot获取配置信息_字符串_07

指定配置文件加上这个注解:

SpringBoot获取配置信息_spring_08

在Controller中的使用:

SpringBoot获取配置信息_spring_09

测试结果:

SpringBoot获取配置信息_配置文件_10


由于我使用的是2.0的SpringBoot,在使用@ComfigurationProperties注解的时候出现了这样一个问题(不影响项目运行):

SpringBoot获取配置信息_spring_11

点击提示进去:

SpringBoot获取配置信息_spring_12

可以将依赖放到pom.xml文件中:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

警告消失:


SpringBoot获取配置信息_配置文件_13

如果要指定某个properties配置文件

有时候配置不想放在主配置文件里面,可以在启动类上或者@Configuration类上使用这个注解:

SpringBoot获取配置信息_字符串_14

指定Spring配置文件,使用@ImportResource注解。

如果配置文件中有数组

可以将值以逗号分隔,用String[]接收,比如:

SpringBoot获取配置信息_配置文件_15

接收:

SpringBoot获取配置信息_spring_16

当然,也可以用String接收,那么获取到的就是那个有逗号的字符串。

使用Environment方式

SpringBoot获取配置信息_spring_17