我们什么时候以及为什么需要ApplicationRunner和Runner接口?

2024-02-12

我正在学习Spring引导。有哪些典型用例ApplicationRunner或任何跑步者界面?

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应用运行器 https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/ApplicationRunner.html(功能接口)与run method.

ApplicationRunner run() 将在 applicationcontext 创建之后、spring boot 应用程序启动之前执行。

ApplicationRunner 采用 ApplicationArgument,它具有 getOptionNames()、getOptionValues() 和 getSourceArgs() 等便捷方法。

And 命令行运行程序 https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/CommandLineRunner.html也是一个函数式接口run method

CommandLineRunner run() 将在 applicationcontext 创建之后、spring boot 应用程序启动之前执行。

它接受在服务器启动时传递的参数。

它们都提供相同的功能,唯一的区别是CommandLineRunner and ApplicationRunner is CommandLineRunner.run()接受String array[]然而ApplicationRunner.run()接受ApplicationArguments作为论证。您可以在以下位置找到更多信息和示例:Spring启动时运行逻辑指南 https://www.baeldung.com/running-setup-logic-on-startup-in-spring

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我们什么时候以及为什么需要ApplicationRunner和Runner接口? 的相关文章

  • 具有最小刻度的图表的漂亮标签算法

    我需要手动计算图表的刻度标签和刻度范围 我知道漂亮刻度的 标准 算法 参见 我也知道这个Java实现 http erison blogspot nl 2011 07 algorithm for optimal scaling on char
  • 如何避免 Java 中的忙旋转

    我有一个多线程应用程序 其中一个线程向另一个线程发送消息 等待线程轮询消息并做出反应 处理锁 像这样 等待线程代码 while true if helloArrived System out println Got hello if bye
  • 实体创建无用的 id 字段

    我有一个CrudRepository与两个实体 Problem 特征实体总是创建一个附加的id数据库中的字段但未选择正确的characteristic id要生成的字段JSON machine entity machine id name
  • @Cachable 在没有输入参数的方法上?

    我有问题 org springframework cache annotation Cachable注解 Bean public ConcurrentMapCache cache return new ConcurrentMapCache
  • 如何使 ScheduledExecutorService 在计划任务取消时自动终止

    我正在使用一个ScheduledExecutorService如果网络连接已打开超过几个小时 则关闭该连接 然而 在大多数情况下 网络连接在超时之前就关闭了 所以我取消了ScheduledFuture 在这种情况下 我还希望执行程序服务终止
  • FXML 文件中的 getHostServices().showDocument()

    有没有简单的方法可以将 getHostServices showDocument 命令放入 toHomepage 方法中 而不是执行一行又一行的代码 这样代码应该看起来干净简单 package sample import javafx ap
  • a4j:commandLink 重新渲染后停止工作

    我创建了这个测试用例来隔离我的问题 一旦轮询执行 ajax 更新 a4j commandLink 操作就不会执行 如果我们在轮询重新渲染之前关闭 modalPanel 则会执行它 有什么建议吗 提前致谢 测试 xhtml
  • 维护插入顺序的并发集合[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以维护插入顺序的并发列表 有人有什么好的推荐吗 我看一些番石榴 例如SetFromMa
  • Java检测鼠标长按

    如果用户按下 JList 组件超过 3 秒 有什么方法可以捕获事件吗 我发现困难的部分是即使在用户松开鼠标左键之前也需要触发事件 这可以通过 mousePressed 和 mouseReleased 组合轻松完成 您可以在 mouseDow
  • 在 JavaFX 中更改 ListView 字体大小

    我想知道如何更改 JavaFx 中的列表视图项目文本字体大小 每行文本的大小会有所不同 我尝试使用细胞因子属性 但我不知道如何使用它 有人可以帮我吗 类似的问题在这里 如何更改JavaFX中ListView的字体大小 https stack
  • 为什么java(>=7版本)不支持运行没有main方法的程序? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 class WithoutMain static System out println Without main class Sy
  • 如何找到 Oracle 数据库的 URL?

    如何找到 Oracle 数据库的 URL 和端口 Example jdbc oracle thin host port dbName 用户名 密码 是否有我可以查看的 SQL 命令或日志 配置文件 对于甲骨文来说 有一个tnsnames o
  • java:如何设置全局线程ID?

    是否有可能为线程设置唯一ID 在分布式系统中 线程是在许多不同的机器上创建的 例如通过 RMI 我需要它来创建日志消息 根据我的研究 我知道可以使用 log4j mdc ndc 来完成 但只能在单线程中完成 我的问题是 在创建线程时必须设置
  • Java 泛型:将 Object o 的类与 进行比较

    假设我有以下课程 public class Test
  • iText7 将 SVG 添加到 PdfDocument 中以及可能出现的问题

    关于问题的答案 如何使用 iText7 将 SVG 添加到 PDF 这是一个链接点击这里 https stackoverflow com questions 50059456 how to add an svg to a pdf using
  • Java 空值检查

    我有一个thread1 if object null object play 和另一个thread2可以写null into object随时参考 我将同时运行这些线程 我知道thread2可以重写object后参考null检查并会抛出Nu
  • 如何在Java中通过反射调用代理(Spring AOP)上的方法?

    一个接口 public interface Manager Object read Long id 实现该接口的类 Transactional Public class ManagerImpl implements Manager Over
  • 为什么 @Bean 返回模拟工作但 @MockBean 在 Spring Boot 测试中跨线程保留 Mockito 状态时不起作用?

    我有一个 JMS Spring Boot 项目 我正在尝试与我的 JMS Listener 进行集成测试 并且我使用 mockito 模拟来模拟具有外部服务调用的 bean 在测试过程中 我遇到了一个问题Mockito when thenR
  • 从数字列表中生成所有唯一对,n 选择 2

    我有一个元素列表 假设是整数 我需要进行所有可能的两对比较 我的方法是 O n 2 我想知道是否有更快的方法 这是我在java中的实现 public class Pair public int x y public Pair int x i
  • HQL 类似运算符,用于不区分大小写的搜索

    我正在使用 Jquery 实现自动完成功能 当我输入名称时 它会从数据库中获取记录 数据库中存储的记录是大写字母和小写字母的混合 我编写了一个 HQL 查询 它可以区分大小写地获取记录 但我需要不考虑大小写的记录 这是查询 List

随机推荐

  • 如何解决ssh:/usr/lib64/libcrypto.so.10:没有可用的版本信息[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试执行 ssh 并收到以下消息 ssh ssh usr lib64 libcrypto so 10 no version info
  • 如何在具有源图像的 Flutter 中覆盖资源图像?

    我对 Dart 和 Flutter 相当陌生 并且在从源图像覆盖现有资产图像时遇到困难 我的尝试 try File localFile File assets images myImage png localFile writeAsByte
  • 如何通过 Composer 为 PHP CLI 提供脚本(作为独立的和作为依赖项)

    我正在尝试编写一个我想从命令行运行的 PHP 脚本 我想使用 Composer 来管理其依赖项 并使其可以作为其他项目的依赖项进行安装 我还想保持单独使用它 及其依赖项 的能力 现在 main php是我的 入口点 我将从命令行执行的内容
  • Flutter Widgets 排列和事件

    我正在尝试在 Flutter 中构建一个表单 请看一下我到目前为止制作的屏幕图像 我对这个页面有几个问题 我怎样才能对齐DropDown按钮 项目和任务 以便它们将以相同的宽度拉伸并且它们的图标将位于相同的位置 另外 我怎样才能用某种边框装
  • 将 Solr HDFS 数据复制到另一个集群

    我有一个 solr 云 v 4 10 安装 位于 Cloudera CDH 5 4 2 HDFS 之上 有 3 个 solr 实例 每个实例托管每个核心的一个分片 我正在寻找一种将 solr 数据从生产集群增量复制到开发集群的方法 有 3
  • php DOMDocument 添加带有 DOCTYPE 声明的 标头

    我通过 DOMDocument 类向每个链接添加 b 哈希 dom new DOMDocument dom gt loadHTML output a tags dom gt getElementsByTagName a foreach a
  • PDF 到 bmp 图像(12 页 = 12 张图像)

    我必须逐页解构 提取 pdf 为位图图像 这将通过我设置的网络服务在服务器上完成 我怎样才能做到这一点 它必须一页一页地显示 每张图像一页 我真的很困惑 我知道你们中的一位天才已经找到了我一直在寻找的答案 我努力了 http www pdf
  • IntelliJ IDEA:“无法解析 String、System 和其他 Java 类的符号”

    我最近将 IntelliJ IDEA 下载到另一台计算机上 在一台计算机上它工作正常 在另一台计算机上它给了我这个当前问题 当我使用模板打开一个新项目时 它会自动在各处显示错误 即使它允许代码运行并正确显示输出 标准 Java 库类 例如S
  • 机械化如何获取当前 url

    我有这个代码 require mechanize agent Mechanize new page agent get http something com page 1 next page page link with href gt p
  • Docker Tomcat容器无法访问Postgres容器

    我有一个带有 postgres 的 alpine docker 带有监听地址 并监听 5432 我正在使用它进行部署 docker run d name postgres me postgres v1 以及带有 oracle jre8 的
  • Sequelize 在查询中返回连接表

    我的 MSQL 表中这两个模型之间存在多对多关系 场所 代表可以有多个所有者 员工 的场所 员工 代表员工 可以是首席执行官或销售员工或任何其他人员 我在用续集 questions tagged sequelize像这样建立关系 关系员工
  • sed 命令中的破折号 e(-e) 是什么意思?

    我是 sed 的新手 总是在输入文件上执行一个命令 最近我尝试使用 e 要处理多个命令 但我无法弄清楚它是如何工作的 默认打印非常烦人 所以我无法弄清楚命令的执行顺序 sed e command 1 e command 2 input tx
  • 原子整数incrementAndGet()线程安全吗?

    原子整数incrementAndGet 方法线程安全吗 我没有看到其中使用同步关键字 我使用以下代码来生成唯一 ID public enum UniqueIdGenerator INSTANCE private AtomicLong ins
  • python:读取json并循环字典

    我正在学习 python 我像这样循环将 json 转换为字典 它可以工作 但这是正确的方法吗 谢谢 import json output file open output json read output json json loads
  • 启动集群时在 EMR 上配置 Zeppelin 的 Spark 解释器

    我正在 EMR 上创建集群并配置 Zeppelin 以从 S3 读取笔记本 为此 我使用一个 json 对象 如下所示 Classification zeppelin env Properties Configurations Classi
  • 无法使用 PowerMockRunner 运行 JUnit 测试

    我有一个基于 Gradle 的 Java 项目 我现在想使用 PowerMock 模拟私有方法 问题是我无法使用 PowerMockRunner 因为当我添加 RunWith org powermock modules junit4 Pow
  • 逻辑表达式解析器

    我正在尝试为以下表达式创建一个逻辑表达式解析器 变量A gt 变量B 而不是变量C 对于给定的变量值 解析器应该能够返回结果是 true 还是 false 基本上 表达式仅包含变量 逻辑运算符 或 与 蕴涵 等价 否定和括号 我想问实现这种
  • 将属性文件中的所有键和值作为 Spring 中的 Map 注入

    有人可以提供一些想法来注入属性文件中的所有动态键和值并将其传递为Map to DBConstants使用 Setter 注入和 Collection 的类 密钥事先未知并且可能会有所不同 Example Property File that
  • Maven 不执行任何单元测试

    我正在使用带有多模块的 Maven 有3个项目 foo the parent project foo core foo bar 我配置了所有依赖项和插件foo s pom
  • 我们什么时候以及为什么需要ApplicationRunner和Runner接口?

    我正在学习Spring引导 有哪些典型用例ApplicationRunner或任何跑步者界面 import org junit jupiter api Test import org springframework boot Applica