docs: public static Map<String, Object> beanToMap(Object bean, Map<String, Object> targetMap, boolean ignoreNullValue, Editor<String> keyEditor) {
  		if (bean == null) {
  			return null;
  		}
  
  		final Collection<PropDesc> props = BeanUtil.getBeanDesc(bean.getClass()).getProps();
  
  		String key;
  		Method getter;
  		Object value;
  		for (PropDesc prop : props) {
  			key = prop.getFieldName();
  			// 过滤class属性
  			// 得到property对应的getter方法
  			getter = prop.getGetter();
  			if (null != getter) {
  				// 只读取有getter方法的属性
  				try {
  					value = getter.invoke(bean);
  				} catch (Exception ignore) {
  					continue;
  				}
  				if (false == ignoreNullValue || (null != value && false == value.equals(bean))) {
  					key = keyEditor.edit(key);
  					if (null != key) {
  						targetMap.put(key, value);
  					}
  				}
  			}
  		}
  		return targetMap;
  	}