在哪种情况下,首选CommandLineRunner而不是在SpringBoot应用程序的main方法中编写其他代码。

我知道CommandLineRunner在main完成之前就已执行。

最佳答案

在简单的情况下,没有区别。

但是,如果代码需要访问spring提供的功能(例如ioc或仅接口存储库/服务),则需要等待完整的应用程序启动。并保证在完成后对覆盖的run方法的调用。

此外,CommandLineRunner还具有其他优点:


可多次实施
在应用程序开始运行之前,可以启动任何调度程序或记录任何消息的功能

07-24 19:10