我正在使用apache commons BeanUtilsBean在我的java bean上设置属性。我的媒体资源名称以字符开头,然后下划线,例如D_ABC_XYZ_。下面是示例代码
public class Test{
private String D_ABC_XYZ_;
public String getD_ABC_XYZ_() {
return D_ABC_XYZ_;
}
public void setD_ABC_XYZ_(String d_ABC_XYZ_) {
D_ABC_XYZ_ = d_ABC_XYZ_;
}
}
然后在我的主要班级的某个地方,我使用下面的代码。
HashMap
Test bean = new Test(); BeanUtilsBean beanUtilsBean =新BeanUtilsBean(myCustomConverters(),新PropertyUtilsBean()); beanUtilsBean.populate(bean,map1);
在完成上述步骤后,我希望在属性中设置值1.12345。但这还没有定下来。但是,如果我将属性的名称更改为DT_ABC_XYZ_,那么它将正确设置。调试后,我观察到 在bean内省期间,该属性的键被计算为d_ABC_XYZ_而不是D_ABC_XYZ,因此不会调用setter。
有人可以在这里帮助我吗?由于某些限制,我无法更改属性名称。