class SofaConfigSourceSupportListener
                                            implements
                                            ApplicationListener<ApplicationEnvironmentPreparedEvent>,
                                            Ordered {

    private final AtomicBoolean registered = new AtomicBoolean();

    @Override
    public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) {
        if (registered.compareAndSet(false, true)) {
            registerSofaConfigs(event.getEnvironment());
        }
    }

    private void registerSofaConfigs(ConfigurableEnvironment environment) {<FILL_FUNCTION_BODY>}

    @Override
    public int getOrder() {
        return ApplicationListenerOrderConstants.SOFA_CONFIG_SOURCE_SUPPORT_LISTENER_ORDER;
    }
}

        SofaConfigs.addConfigSource(new AbstractConfigSource() {

            @Override
            public int getOrder() {
                return LOWEST_PRECEDENCE;
            }

            @Override
            public String getName() {
                return SofaBootConstants.SOFA_BOOT_SPACE_NAME;
            }

            @Override
            public String doGetConfig(String key) {
                return environment.getProperty(key);
            }

            @Override
            public boolean hasKey(String key) {
                return StringUtils.hasText(environment.getProperty(key));
            }
        });
    
<no_super_class>