<!-- 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.

### Environment

* Dubbo version: xxx
* Operating System version: xxx
* Java version: xxx

### Steps to reproduce this issue

```xml
    <bean id="sayHi" class="org.apache.dubbo.samples.provider.GreetingsServiceImpl"/>

    <dubbo:service id="GreetingsServiceRef1" interface="org.apache.dubbo.samples.api.GreetingsService" ref="sayHi">
        <dubbo:method name="sayHi" timeout="1000" retries="3"/>
    </dubbo:service>
```

Pls. provide [GitHub address] to reproduce this issue.

### Expected Behavior

<!-- What do you expect from the above steps？-->

### Actual Behavior

<!-- What actually happens? -->

If there is an exception, please attach the exception trace:

```
Just put your stack trace here!
```

assignProperties(histogram, child, parserContext);
                beanDefinition.getPropertyValues().addPropertyValue("histogram", histogram);
            } else if ("prometheus-exporter".equals(child.getNodeName()) || "prometheus-exporter".equals(child.getLocalName())) {
                if (prometheus == null) {
                    prometheus = new PrometheusConfig();
                }
                PrometheusConfig.Exporter exporter = new PrometheusConfig.Exporter();
                assignProperties(exporter, child, parserContext);
                prometheus.setExporter(exporter);
            } else if ("prometheus-pushgateway".equals(child.getNodeName()) || "prometheus-pushgateway".equals(child.getLocalName())) {
                if (prometheus == null) {
                    prometheus = new PrometheusConfig();
                }
                PrometheusConfig.Pushgateway pushgateway = new PrometheusConfig.Pushgateway();
                assignProperties(pushgateway, child, parserContext);
                prometheus.setPushgateway(pushgateway);
            }
        }
        if (prometheus != null) {
            beanDefinition.getPropertyValues().addPropertyValue("prometheus", prometheus);
        }
    }
    private static void assignProperties(Object obj, Element ele, ParserContext parserContext) {
        Method[] methods = obj.getClass().getMethods();
        for (Method method : methods) {
            if (MethodUtils.isSetter(method)) {
                String beanProperty = method.getName().substring(3, 4).toLowerCase() + method.getName().substring(4);
                String property = StringUtils.camelToSplitName(beanProperty, "-");
                String value = resolveAttribute(ele, property, parserContext);
                if (StringUtils.isNotEmpty(value)) {