gpt4 book ai didi

java - 我们何时以及为什么需要 ApplicationRunner 和 Runner 接口(interface)?

转载 作者:行者123 更新时间:2023-12-01 11:33:28 25 4
gpt4 key购买 nike

我正在学习Spring Boot。 ApplicationRunner 或任何运行器接口(interface)的典型用例是什么?

import org.junit.jupiter.api.Test;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class PersistencedemoApplicationTests implements ApplicationRunner {

@Test
void contextLoads() {
}

@Override
public void run(ApplicationArguments args) throws Exception {
// load initial data in test DB
}
}

这是我知道的一个案例。还要别的吗?

最佳答案

这些运行器用于在应用程序启动时运行逻辑,例如 spring boot 有 ApplicationRunner (功能接口(interface))与 run方法

ApplicationRunner run() will get execute, just after applicationcontext is created and before spring boot application startup.

ApplicationRunner takes ApplicationArgument which has convenient methods like getOptionNames(), getOptionValues() and getSourceArgs().


CommandLineRunner也是 run 的函数式接口(interface)方法

CommandLineRunner run() will get execute, just after applicationcontext is created and before spring boot application starts up.

It accepts the argument, which are passed at time of server startup.


它们都提供了相同的功能和 CommandLineRunner 之间的唯一区别。和 ApplicationRunnerCommandLineRunner.run()接受 String array[]ApplicationRunner.run()接受 ApplicationArguments作为论据。您可以通过示例 here 找到更多信息

关于java - 我们何时以及为什么需要 ApplicationRunner 和 Runner 接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59328583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com