[已解决]The elements [xxx,xxx] were left unbound spring boot yml 错误
问题描述
spring boot 2.6.x 项目启动报错
The elements [xxx,xxx] were left unbound
细节日志就是spring boot yml配置内容有问题,无法与对象绑定
集合对象yml绑定启动报错。
环境说明
package com.cloud;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
@Component
@ConfigurationProperties(prefix = "cloud")
@Data
public class AppProperties {
/**
* 邮件服务提供
*/
List<MailProvider> mailProviders=new ArrayList<>();
@Data
public class MailProvider {
/**
* 邮箱账号
*/
public String email;
/**
* 邮箱密码
*/
public String secret;
/**
* 邮箱服务器
*/
public String host;
/**
* 协议
*/
public String protocol="smtp";
/**
* 端口
*/
public String port="25";
}
}
yml配置
cloud:
mail-providers:
- mail: example@123.com
host: smtp@123.com
- mail: example2@123.com
host: smtp@123.com
以上配置启动spring boot 项目就报错。
解决办法
将内部类MailProvider 修改为静态类
public static class MailProvider
问题解决
https://blog.xqlee.com/article/1674629836858986498.html
评论