1、通过@Value("${属性名}")注解获取属性值
@Value注解可以获取properties/yml文件中定义的属性内容
例,在application.yml文件中定义一个filePath属性
然后通过@Value注入属性值
发现可以将注入的filePath的值获取
2、application.yml/application.properties中有统一前缀配置信息引入
使用注解::@ConfigurationProperties(prefix = "统一前缀")
当然也可以通过@Value注解获取,但是得每个属性都得注入,有大量配置信息就显得特别麻烦
有统一前缀的配置信息,可以通过以下方式获取。
例,在application.yml文件中定义一个有统一前缀的student属性
然后写一个配置类,在类上加入@ConfigurationProperties(prefix = "统一前缀")注解,注意属性要一一对应,如图
@ConfigurationProperties(prefix = "student") @Component // 注入到Spring容器中 @Data // lombok提供getter、setter方法 public class StudentProperties { private String name; private Integer age; private Double score; private String sex; }
这样,就可以直接使用有统一前缀的配置信息了
当然,引入@ConfigurationProperties注解后,会发现在其所在当前配置类上方飘红,不过不影响使用
如果有强迫症,也可在pom.xml文件中引入下面的依赖,飘红就没了
<!--@ConfigurationProperties注解飘红去除--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> </dependency>
3、非application.yml/application.properties中有统一前缀配置信息引入
使用组合注解:@ConfigurationProperties(prefix = "统一前缀")、@PropertySource("声明文件位置")
然后写一个配置类,在类上加入@PropertySource("声明文件位置")、@ConfigurationProperties(prefix = "统一前缀")注解,注意声明文件位置、属性要一一对应,如图
测试