<!-- If you need to report a security issue please visit https://github.com/apache/dubbo/security/policy -->

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

ReferenceConfig throw IllegalStateException when check failed, but consumerModel is still registered.
processExtraRefresh(preferredPrefix, subPropsConfiguration);
        } catch (Exception e) {
            logger.error("Failed to override field value of config bean: " + this, e);
            throw new IllegalStateException("Failed to override field value of config bean: " + this, e);
        }
        postProcessRefresh();
    }
    private void assignProperties(Object obj, Environment environment, Map<String, String> properties, InmemoryConfiguration configuration) {
        
        boolean overrideIfAbsent = getConfigMode() == ConfigMode.OVERRIDE_IF_ABSENT;
        
        boolean overrideAll = getConfigMode() == ConfigMode.OVERRIDE_ALL;
        
        List<Method> methods = MethodUtils.getMethods(obj.getClass(), method -> method.getDeclaringClass() != Object.class);
        Method[] methodsList = this.getClass().getDeclaredMethods();
        for (Method method : methods) {
            if (MethodUtils.isSetter(method)) {
                String propertyName = extractPropertyName(method.getName());
                
                if (overrideIfAbsent && isPropertySet(methodsList, propertyName)) {
                    continue;
                }
                
                String kebabPropertyName = StringUtils.convertToSplitName(propertyName, "-");
                try {
                    String value = StringUtils.trim(configuration.getString(kebabPropertyName));
                    
                    if (StringUtils.hasText(value)
                        && ClassUtils.isTypeMatch(method.getParameterTypes()[0], value)
                        && !isIgnoredAttribute(obj.getClass(), propertyName)) {