概述:
在 Spring Boot 项目中,为了更灵活的配置,我们将大量的参数,例如项目名、各种文件路径等,配置在 application.properties 或 application.yml 文件中,通过 @ConfigurationProperties 或者@value注解,我们可以方便的获取这些参数值
一、利用@value注解进行配置属性注入:
- 使用方法:@Value("${}")
- 缺点:这种方法的属性值获取,要在每次使用时都要注入一次,显示略笨重,下面看一下利用@ConfigurationProperties注解写一个对应的配置类效果可能会变得更好。
二、利用@ConfigurationProperties注解构建配置类:
用法如下,@ConfigurationProperties(prefix = "ruoyi")表示加载配置文件以"ruoyi"为前缀的属性,并将其值绑定注入到配置类的属性中;@Component注解将其声明为一个bean,交由spring管理,这样便可在其它模块进行bean的注入,从而获取属性值,对于配置类的静态属性,则可不用注入bean,直接通过类获取,这里注意必须提供set与get方法,且set()方法必须要是非静态的,否则配置文件的值无法绑定进去。我们利用Idea自动生成set与get方法时往往会出现这个问题。
- 前缀定义了哪些外部属性将绑定到配置类的字段上
- 类的属性名称必须与外部属性的名称相匹配
- 类的字段必须有公共 setter 方法