情况:YAML到Java bean的转化
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "")
@Data
public class AllowedCrossroads {
private List<CrossroadCombination> allowed;
}
@Data
@Builder
@AllArgsConstructor
public class CrossroadCombination {
private String firstCrossroad;
private String secondCrossroad;
private String thirdCrossroad;
private String fourthCrossroad;
}
异常:elements left unbound.
解决方式:
内部类变为静态的、加上@NoArgsConstructor注解
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public static class CrossroadCombination {
private String firstCrossroad;
private String secondCrossroad;
private String thirdCrossroad;
private String fourthCrossroad;
参考:java - Reason: The elements were left unbound - Stack Overflow
本文探讨了在将YAML配置文件转化为Java对象时遇到的元素未绑定异常。问题出现在非静态内部类及缺少NoArgsConstructor。解决方案是将内部类改为静态并添加@NoArgsConstructor注解,确保所有字段都能正确绑定。




被折叠的 条评论
为什么被折叠?



