- [ ] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [ ] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.7.4.1
* Java version: 1.8


### Actual Result

[https://github.com/apache/dubbo/blob/f89a1a8dadb419a06494433ed53b9a35f69c36dc/dubbo-common/src/main/java/org/apache/dubbo/common/utils/NetUtils.java#L497](https://github.com/apache/dubbo/blob/f89a1a8dadb419a06494433ed53b9a35f69c36dc/dubbo-common/src/main/java/org/apache/dubbo/common/utils/NetUtils.java#L497)


[https://github.com/apache/dubbo/blob/f89a1a8dadb419a06494433ed53b9a35f69c36dc/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ReflectUtils.java#L1207](https://github.com/apache/dubbo/blob/f89a1a8dadb419a06494433ed53b9a35f69c36dc/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ReflectUtils.java#L1207)


### Expected Result

```
qulified  ==> qualified

form ==> from
```

Set<Class<T>> hierarchicalTypes = new LinkedHashSet<>();
        if (matchType.isAssignableFrom(sourceClass)) {
            hierarchicalTypes.add((Class<T>) sourceClass);
        }
        
        hierarchicalTypes.addAll(findHierarchicalTypes(sourceClass.getSuperclass(), matchType));
        return unmodifiableSet(hierarchicalTypes);
    }
    public static <T> T getProperty(Object bean, String propertyName) {
        Class<?> beanClass = bean.getClass();
        BeanInfo beanInfo = null;
        T propertyValue = null;
        try {
            beanInfo = Introspector.getBeanInfo(beanClass);
            propertyValue = (T) Stream.of(beanInfo.getPropertyDescriptors())
                    .filter(propertyDescriptor -> propertyName.equals(propertyDescriptor.getName()))
                    .map(PropertyDescriptor::getReadMethod)
                    .findFirst()
                    .map(method -> {
                        try {
                            return method.invoke(bean);
                        } catch (Exception e) {
                        }
                        return null;
                    }).get();
        } catch (Exception e) {
        }
        return propertyValue;
    }
}