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就会去初始化这个配置了。

参考

相关推荐
蚂蚁雅嘿7 小时前
maven标签日常总结
java·maven
洋不写bug7 小时前
二叉树(二) 常见基础操作解析|结点数、树高、查找结点、判断完全二叉树
java·开发语言·数据结构·完全二叉树·二叉树结点数·树高·查找结点
山岚的运维笔记8 小时前
mysql 专业笔记 -- 第 17 章:连接:连接三个具有相同名称 ID 的表
运维·数据库·笔记·后端·学习·mysql·dba
遨翔在知识的海洋里8 小时前
nest(3)- filter和Interceptor
后端
菠萝加点糖8 小时前
Maven 坐标系统说明
java·maven
hm宋8 小时前
Canal 升级 jar 包操作文档(以升级 FastJSON 为例)
java·canal·jar
挽安6218 小时前
若依微服务 Nacos 2.x 控制台配置列表为空?一个 tenant_id 字段引发的血案
后端
后台模板学习8 小时前
学习的心态高频面试题
java·数据库·学习
周杰伦fans8 小时前
ASP.NET Core Identity 从入门到实战:常见问题与解决方案
后端·asp.net
n8n8 小时前
Spring AI 三层架构详解:ChatModel → ChatClient → Controller,同步调用 vs 流式调用(SSE)
后端