在哪种情况下,首选CommandLineRunner而不是在SpringBoot应用程序的main方法中编写其他代码。
我知道CommandLineRunner在main完成之前就已执行。
最佳答案
在简单的情况下,没有区别。
但是,如果代码需要访问spring提供的功能(例如ioc或仅接口存储库/服务),则需要等待完整的应用程序启动。并保证在完成后对覆盖的run方法的调用。
此外,CommandLineRunner还具有其他优点:
可多次实施
在应用程序开始运行之前,可以启动任何调度程序或记录任何消息的功能