SpringBoot从配置文件中获取属性的方法

方式一: @Value

  1. 基本类型属性注入,直接在字段上添加@Value(“${xxx.xxx}”) 在实现类中通过@Value直接获取 XXXImpl.java实现类: .yml配置文件
/**凭证 */
    @Value("${qywx.corpid}")
    private String appid;


    /**密钥 */
    @Value("${qywx.corpsecret}")
    private String appsecret;
  1. 在配置类中通过@Value直接获取 如果配置变量是在工具类中使用时:
@Component
public class HttpsRequest {
          
   
    /**凭证 */
    private String appid;


    /**密钥 */
    private  String appsecret;

    @Value("${qywx.corpid}")
    public void setAppid(String appid) {
          
   
        this.appid = appid;
    }

    @Value("${qywx.corpsecret}")
    public void setAppsecret(String appsecret) {
          
   
        this.appsecret = appsecret;
    }
}

方式二: @ConfigurationProperties 配置文件

@Component
@ConfigurationProperties(prefix="qywx")
@Data
public class QYWX {
          
   
    /**凭证 */
    private  String appid;


    /**密钥 */
    private  String appsecret;

}

@Value和@ConfigurationProperties比较 配置文件yml还是properties他们都能获取到值;

如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;

如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;

经验分享 程序员 微信小程序 职场和发展