|
在Spring Boot中访问带有下划线的Bean字段(如bandwidth_number),可以通过以下方式实现:
使用反射直接访问字段(推荐方案):
Field field = obj.getClass().getDeclaredField("bandwidth_number");
field.setAccessible(true);
Integer value = (Integer) field.get(obj);
通过Java Bean规范访问(需添加getter方法):
// 在Bean类中添加规范的getter方法
public Integer getBandwidth_number() {
return this.bandwidth_number;
}
// 调用时使用
Integer value = bean.getBandwidth_number();
使用Spring的BeanWrapper:
BeanWrapper wrapper = new BeanWrapperImpl(bean);
Integer value = (Integer) wrapper.getPropertyValue("bandwidth_number");
使用Apache Commons BeanUtils:
Integer value = PropertyUtils.getProperty(bean, "bandwidth_number");
注意事项:
反射方案会破坏封装性,建议仅在特殊场景使用
生产环境推荐使用方法2(规范getter)或方法4(工具类)
字段命名建议遵循Java规范(驼峰式)以避免此类问题
|
|