重现问题的源代码:链接。
假设我有这种配置属性的结构:
@Data
@ConfigurationProperties(prefix = "props")
public class ConfigProperties {
private String testString;
private Map<String, InnerConfigProperties> testMap;
}
@Data
public class InnerConfigProperties {
private String innerString;
private Integer innerInt;
}
在application.yml
我以这种方式设置它们:
props:
testString: asdadasd
somWrongProperty: asdasd
testMap:
key1:
innerString: value1
innerInt: 1
someInnerWrongProperty: wrongvalue
key2:
innerString: value2
innerInt: 2
启动注释处理后,只有简单的属性才能正常工作(您可以通过单击导航到它们的声明,ctrl
它们也可以自动完成)。此外,IDEA 会检测属性是否不正确并突出显示。
对于嵌套结构(它们是映射值),这两个功能似乎都无法正常工作。您仍然可以单击它们,但 IDEA 将导航到地图声明。此外,地图值的代码完成和错误字段的突出显示不起作用。
IDEA的截图:
有人知道如何使它正常工作吗?随意使用随附的示例代码。
提前致谢。