- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] 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.5-SNAPSHOT
* Operating System version: macos
* Java version: 1.8.0_131

### Steps to reproduce this issue

We could run the following UT, then we could find the issue:

```
        ApplicationConfig application = new ApplicationConfig("provider");

        ServiceConfig<DemoService> service = new ServiceConfig<DemoService>();
        service.setProtocol(new ProtocolConfig("dubbo", 20880));
        service.setRegistry(new RegistryConfig(RegistryConfig.NO_AVAILABLE));
        service.setInterface(DemoService.class);
        service.setRef(new DemoServiceImpl());

        ConsumerConfig consumer = new ConsumerConfig();
        consumer.setLazy(true);

        ReferenceConfig<DemoService> reference = new ReferenceConfig<DemoService>();
        reference.setConsumer(consumer);
        reference.setRegistry(new RegistryConfig(RegistryConfig.NO_AVAILABLE));
        reference.setInterface(DemoService.class);
        reference.setUrl("dubbo://" + NetUtils.getLocalHost() + ":20880?" + DemoService.class.getName());

        DubboBootstrap bootstrap = DubboBootstrap.getInstance()
            .application(application)
            .service(service)
            .reference(reference)
            .start();

        Assert.assertEquals("true", reference.toUrls().get(0).getParameter("lazy"));
```

### Expected Result

Expected "lazy" : true

### Actual Result

Actual "lazy": false

);
    }
    public void checkProtocol() {
        if (CollectionUtils.isEmpty(protocols) && provider != null) {
            setProtocols(provider.getProtocols());
        }
        convertProtocolIdsToProtocols();
    }
    private void convertProtocolIdsToProtocols() {
        computeValidProtocolIds();
        if (StringUtils.isEmpty(protocolIds)) {
            if (CollectionUtils.isEmpty(protocols)) {
                List<ProtocolConfig> protocolConfigs = ApplicationModel.getConfigManager().getDefaultProtocols();
                if (protocolConfigs.isEmpty()) {
                    protocolConfigs = new ArrayList<>(1);
                    ProtocolConfig protocolConfig = new ProtocolConfig();
                    protocolConfig.refresh();
                    protocolConfigs.add(protocolConfig);
                }
                setProtocols(protocolConfigs);
            }
        } else {
            String[] arr = COMMA_SPLIT_PATTERN.split(protocolIds);
            List<ProtocolConfig> tmpProtocols = CollectionUtils.isNotEmpty(protocols) ? protocols : new ArrayList<>();
            Arrays.stream(arr).forEach(id -> {
                if (tmpProtocols.stream().noneMatch(prot -> prot.getId().equals(id))) {
                    Optional<ProtocolConfig> globalProtocol = ApplicationModel.getConfigManager().getProtocol(id);
                    if (globalProtocol.isPresent()) {
                        tmpProtocols.add(globalProtocol.get());
                    } else {