@Bean
    @ConditionalOnMissingBean(ClientRegisterConfiguration.class)
    public SpringMvcClientEventListener springHttpClientEventListener(final ShenyuClientConfig clientConfig,
                                                                      final ShenyuClientRegisterRepository shenyuClientRegisterRepository,
                                                                      final Environment env) {
        ClientPropertiesConfig clientPropertiesConfig = clientConfig.getClient().get(RpcTypeEnum.HTTP.getName());
        Properties props = Optional.ofNullable(clientPropertiesConfig).map(ClientPropertiesConfig::getProps).orElse(null);
        String applicationName = env.getProperty("spring.application.name");
        String discoveryMode = env.getProperty("shenyu.discovery.type", ShenyuClientConstants.DISCOVERY_LOCAL_MODE);
        if (Objects.nonNull(props)) {
            String appName = props.getProperty(ShenyuClientConstants.APP_NAME);
            if (StringUtils.isBlank(appName) && StringUtils.isBlank(applicationName)) {
                throw new IllegalArgumentException("spring.application.name or shenyu.client.http.props.appName must not be empty");
            }
            if (StringUtils.isBlank(appName)) {
                props.setProperty(ShenyuClientConstants.APP_NAME, applicationName);
            }
            String contextPath = props.getProperty(ShenyuClientConstants.CONTEXT_PATH);
            if (StringUtils.isBlank(contextPath)) {
                props.setProperty(ShenyuClientConstants.CONTEXT_PATH, String.format("/%s", applicationName));
            }
            props.setProperty(ShenyuClientConstants.DISCOVERY_LOCAL_MODE_KEY, Boolean.valueOf(ShenyuClientConstants.DISCOVERY_LOCAL_MODE.equals(discoveryMode)).toString());
        }
        return new SpringMvcClientEventListener(clientConfig, shenyuClientRegisterRepository, env);
    }
Spring mvc client event listener.

@param clientConfig                   the client config
@param shenyuClientRegisterRepository the shenyu client register repository
@param env                            the env
@return the spring mvc client event listener
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-springmvc/src/main/java/org/apache/shenyu/springboot/starter/client/springmvc/ShenyuSpringMvcClientConfiguration.java