SpringBoot启动初始化配置之ApplicationRunner

问题

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

解决思路

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

步骤

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

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot启动初始化代码可以通过实现ApplicationRunner和CommandLineRunner接口来实现。这两个接口都提供了run方法,用于在Spring Boot应用启动完成后执行自定义的初始化代码。 1. 实现ApplicationRunner接口: ApplicationRunner接口的run方法在Spring Boot启动完成后执行,并且可以访问应用的ApplicationContext。可以通过在实现类上添加@Component注解将其识别为Spring组件,或者通过@Configuration注解将其作为配置类加载。 ```java @Component public class CustomApplicationRunner implements ApplicationRunner { @Autowired private ApplicationContext applicationContext; @Override public void run(ApplicationArguments args) throws Exception { // 执行初始化代码 // 可以通过applicationContext.getBean()获取其他Spring Bean,进行各种初始化操作 } } ``` 2. 实现CommandLineRunner接口: CommandLineRunner接口的run方法也在Spring Boot启动完成后执行,但是它接收的参数是程序启动时的命令行参数。同样可以通过在实现类上添加@Component注解或@Configuration注解来加载。 ```java @Component public class CustomCommandLineRunner implements CommandLineRunner { @Override public void run(String... args) throws Exception { // 执行初始化代码 // 可以通过args参数获取命令行参数,进行各种初始化操作 } } ``` 以上是Spring Boot启动初始化的代码实现方式,可以根据具体需求选择ApplicationRunner接口或CommandLineRunner接口来编写初始化代码,并在应用启动后执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值