class SonicRunner implements ApplicationRunner {

    @Autowired
    private ResourcesService resourcesService;

    @Autowired
    private ConfListService confListService;

    @Value("${spring.version}")
    private String version;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        resourceInit();
        remoteInit();
        idleInit();
    }

    /**
     * 每次启动对信息进行版本对比，不一致进行一起更新
     */
    private void resourceInit() {
        try {

            ConfList conf = confListService.searchByKey(ConfType.RESOURCE);
            if (conf != null && Objects.equals(conf.getContent(), version)) {
                log.info("version: {}, resource has been init...", version);
                return;
            }
            resourcesService.init();
            log.info("version: {}, resource init finish!", version);
            confListService.save(ConfType.RESOURCE, version, null);

        } catch (Exception e) {
            log.error("init resource error", e);
        }
    }

    private void remoteInit() {
        try {
            ConfList conf = confListService.searchByKey(ConfType.REMOTE_DEBUG_TIMEOUT);
            if (conf != null) {
                log.info("remote conf has been init...");
                return;
            }

            confListService.save(ConfType.REMOTE_DEBUG_TIMEOUT, "480", null);
            log.info("remote conf init finish!");

        } catch (Exception e) {
            log.error("init remote conf error", e);
        }
    }

    private void idleInit() {<FILL_FUNCTION_BODY>}

}

        try {
            ConfList conf = confListService.searchByKey(ConfType.IDEL_DEBUG_TIMEOUT);
            if (conf != null) {
                log.info("idle conf has been init...");
                return;
            }

            confListService.save(ConfType.IDEL_DEBUG_TIMEOUT, "480", null);
            log.info("idle conf init finish!");

        } catch (Exception e) {
            log.error("init idle conf error", e);
        }
    
<no_super_class>