当前位置: 首页 > 知识库问答 >
问题:

在spring boot启动时运行一次

邹开畅
2023-03-14

如果必须保证一个方法在spring boot应用程序启动时只执行一次,那么contextrefreshedevent的最佳替代方案是什么?

@EventListener
public void myMethod(ContextRefreshedEvent event) {
  // do something
}

共有1个答案

佘京
2023-03-14

有很多种方法,但我通常采用的一种简单方法是,可以在单个组件方法上使用@PostConstruct(或将其添加到其构造函数中)

@Component
public class MyComponent{
    @PostConstruct
    public void initialize(){
         //do something here
    }
}
 类似资料:
  • 问题内容: 首先,这可能需要移至超级用户。我无法确定哪个场地更好。 我正在尝试编写一个将在启动/重新启动时运行的R脚本,并将该计算机添加到doRedis工作者池中。(doRedis是一个foreach后端)。 这是我的R脚本“〜/ Rworker.R” 我可以使用command从命令行运行此脚本 。 接下来,我编写了一个shell脚本来运行R脚本,标题为“ /etc/init.d/StartWor

  • 苏,希望你们都没事。出于某种原因,在我的java代码中,当我按下一个键(当它工作时),我的ActionListener要求我保持计时器启动,否则会绘制一个矩形并显示JLabel simple的条件不会运行,因为ActionListener无法调用它。 这是工作代码。 下面是使actionEvent不执行的原因

  • 问题内容: 我正在使用Camel&Spring进行Java项目。在Spring完成其工作并且Camel完成所有路径的构建之后,我们想在单例bean上触发一个initialize方法。 我们无法在类创建时调用该方法,因为它具有从@Component spring批注中拾取的与其他类的动态链接,并且我们不知道何时/是否已加载这些类,而尚未真正将init方法作为a的一部分运行构造函数。 我如何才能在Ca

  • 我正在开发一个Spring boot应用程序(使用Maven),它使用Liquibase(连接到Postgres容器)。我想在运行时手动运行liquibase,但我真的不知道怎么做。我想有一个选项来触发我的应用程序运行并启动liquibase。 我已经在application.properties文件上关闭了liquibase,它确实在启动时停止了liquibase的运行,但是我没有找到任何方法在

  • 本文向大家介绍在Windows启动时自动运行Python脚本?,包括了在Windows启动时自动运行Python脚本?的使用技巧和注意事项,需要的朋友参考一下 将Python脚本添加到Windows启动时,基本上表示Python脚本将在Windows启动时运行。这可以通过两步过程来完成- 步骤#1:在Windows启动文件夹中添加或添加脚本 在启动Windows后,它会执行(相当于双击)其启动文件