问题
在SmsProperties中嵌入AliyunSmsProperties,在代码中通过SmsProperties读取AliyunSmsProperties的配置为null导致无法启动。两个配置类如下:
@Data
@ConfigurationProperties(prefix = "sms")
public class SmsProperties {@NestedConfigurationPropertyprivate AliyunSmsProperties aliyunSmsProperties;
}
@Data
@ConfigurationProperties(prefix = "aliyun")
public class AliyunSmsProperties {private String accessKeyId;private String accessKeySecret;private String signName;
}
解决方法
将SmsProperties类中AliyunSmsProperties的属性名改成aliyun,使其与AliyunSmsProperties类中的prefix一致。改动后的SmsProperties如下:
@Data
@ConfigurationProperties(prefix = "sms")
public class SmsProperties {@NestedConfigurationPropertyprivate AliyunSmsProperties aliyun;
}