#阿里云短信
aliyun:
sms:
region-id: cn-hangzhou
key-id: 你的keyid
key-secret: 你的keysecret
template-code: 你的短信模板code
sign-name: 你的短信模板签名
在配置文件中自定义了配置信息
package com.atguigu.srb.sms.util;
@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;
}
}
创建常量工具类,从配置文件中读取常量
InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候都会执行该方法。
引用InitializingBean接口,重写其中的afterPropertiesSet方法,在其中写自己的方法
在任意地方注入bean,都会直接执行重写的afterPropertiesSet方法,不用主动调用
Idea报告如下错误信息(不影响程序的编译和运行)
解决方案参考官方文档
- step1:添加依赖
org.springframework.boot spring-boot-configuration-processortrue - step2:启动processor
- step3:重新编译模块
- step4:这样就可以在yml文件中有自定义配置的提示信息啦



