由以下原因引起:org.springframework.beans.NotWritablePropertyException:Bean类[com.uz.SysConfig]的无效属性'isTestCtx':Bean属性'isTestCtx'是不可写的或无效的setter方法。 setter的参数类型是否与getter的返回类型匹配?
型号代码:
public class SysConfig {
@Getter
@Setter
@Value("${isTestCtx}")
private boolean isTestCtx;
@PostConstruct
public void init(){
log.info(" isTestCtx: {}", isTestCtx);
}
}
用龙目岛产生的代码,我可以看到
public boolean isTestCtx() {
return this.isTestCtx;
}
public void setTestCtx(boolean isTestCtx) {
this.isTestCtx = isTestCtx;
}
一切顺利。我不知道为什么会发生此错误。
有人可以帮忙吗?
最佳答案
Lombok生成的代码似乎是错误的(显然,它在此page底部的精美印刷中,尽管只提到了吸气剂)。
对于boolean
属性isTextCtx
,根据JavaBeans规范的预期getter和setter必须为:
public boolean isIsTestCtx() {
return this.isTestCtx;
}
public void setIsTestCtx(boolean isTestCtx) {
this.isTestCtx = isTestCtx;
}
将您的属性重命名为
testCtx
应该可以解决问题。@Getter
@Setter
@Value("${isTestCtx}")
private boolean testCtx;