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

参考

相关推荐
摇曳的精灵几秒前
直接关掉jar包,会影响没有执行完的任务吗
java·jar
yoyo_zzm3 分钟前
PHP vs Java:后端语言终极选择指南
java·spring boot·后端·架构·php
m0_502724954 分钟前
golang 、java、c++、javascript 语言switch case异同
java·javascript·c++·golang
苏三说技术16 分钟前
从索引失效到性能翻倍,DBA不愿透露的10个优化技巧
后端
Season45021 分钟前
C++11并发支持库(condition_variable | future全家桶)
java·jvm·c++
阿Y加油吧28 分钟前
二刷 LeetCode:爬楼梯与杨辉三角,Java 实现复盘
java·算法·leetcode
神奇小汤圆29 分钟前
Java AI 框架选型:LangChain4j 还是 Spring AI?
后端
不知名的忻34 分钟前
堆排序(Java)
java·数据结构·算法·排序算法
TAN-90°-35 分钟前
Java 5——final 抽象 接口
java·开发语言
吴声子夜歌40 分钟前
Java——显示锁
java·开发语言