springboot中的yml属性注入处理

第一步自定义标签

#阿里云短信
aliyun:
  sms:
    region-id: cn-hangzhou
    key-id: LTAI5tMCaR1TuXL9meM9ibvM
    key-secret: JrieEQsCvblWK0ZxT2q4exjSaj75dz
    template-code: SMS_154950909
    sign-name: 阿里云短信测试

第二部写工具类,从yml中读取值

package com.xiaoliu.system.sms.util;

import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @description:
 * @author: 刘瑞_LiuRui
 * @data: 2023/01/01
 * @Version 1.0
 **/
 /**
 *InitializingBean 是spring自己的接口,负责在属性自动注入后做事情,
 **/
@Setter
@Getter //idea2020.2.3版配置文件自动提示需要这个
@Component
//注意prefix要写到最后一个 "." 符号之前
//调用setter为成员赋值
@ConfigurationProperties(prefix = "aliyun.sms")
public class SmsProperties implements InitializingBean {

    private String regionId;
    private String keyId;
    private String keySecret;
    private String templateCode;
    private String signName;

    public static String REGION_Id;
    public static String KEY_ID;
    public static String KEY_SECRET;
    public static String TEMPLATE_CODE;
    public static String SIGN_NAME;

    //当私有成员被赋值后,此方法自动被调用,从而初始化常量
    @Override
    public void afterPropertiesSet() throws Exception {
        REGION_Id = regionId;
        KEY_ID = keyId;
        KEY_SECRET = keySecret;
        TEMPLATE_CODE = templateCode;
        SIGN_NAME = signName;
    }
}


版权声明:本文为qq_50319351原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。