SpringBoot启动初始化配置之ApplicationRunner

问题

最近需要在Spring Boot启动的时候,需要初始化第三方SDK配置,才能使用自己这个Spring Boot服务。

解决思路

使用Spring的ApplicationRunner进行初始化第三方SDK配置。Spring还有另外一个初始化接口CommandLineRunner,这里选择ApplicationRunner。

步骤

CustomApplicationRunner.java

java 复制代码
package com.xxx.init;

import com.xxx.XxxUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Component;

import java.io.IOException;

@Slf4j
@Component
public class CustomApplicationRunner implements ApplicationRunner {
    @Value("classpath:xxx_client_config.properties")
    private Resource resource;
    @Override
    public void run(ApplicationArguments args) {
        try {
            if (XxxUtil.getInstance().init(resource.getInputStream())){
                log.info("xxx SDK 初始化成功");
            } else {
                log.error("xxxx SDK 初始化失败");
            }
        } catch (IOException e) {
            log.error("xxx SDK 初始化失败", e);
        }
    }
}

创建好这个ApplicationRunner实现类之后,然后,再启动Spring,Spring就会去初始化这个配置了。

参考

相关推荐
东风破_3 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
嘻哈∠※3 小时前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
卷无止境3 小时前
在 awesome-fastapi 里,哪些库值得一看?
后端·python
白狐_7984 小时前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander2584 小时前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法
码匠许师傅4 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
卷无止境4 小时前
FastAPI 的Admin面板生态
后端·python
捡田螺的小男孩6 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
IT_陈寒6 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端
极创信息6 小时前
系统安全隐患全方位排查方案:标准化渗透测试全流程
java·opencv·struts·数据挖掘·eclipse·语音识别·hibernate