繁体   English   中英

Spring Boot 中 CommandLineRunner 的确切用途是什么

[英]What is the exact purpose of the CommandLineRunner in Spring Boot

如果有人能解释为什么用 @SpringBootApplication 注释的 class 也经常实现 CommandLineRunner,我将不胜感激。 从我读到的 Spring 加载应用程序上下文后,Boot 将自动调用实现此接口的所有 bean 的 run 方法。 所以 run() 方法在注册 bean 之后在 main() 方法中出现的第一条和最后一条指令之间运行。 那么实现 CommandLineRunner 的具体需要是什么,我的意思是为什么不直接将代码从 run() 添加到 main()

假设您必须为您的应用程序创建一个管理员用户。 并且只有管理员才能创建用户。 在这种情况下,需要在启动时创建管理员用户。 CommandLineRunner 可以为您完成这项工作。 您可以在 CommandLineRunner 注释类中添加用于创建用户的方法。 这将是一个参考示例。

CommandLineRunner 是一个具有 run() 方法的接口。 它用于在 Spring Boot 应用程序启动后立即执行一些代码。 主应用程序应实现此接口并覆盖其 run 方法。 在这个 run 方法中,我们编写代码,例如使用一些值或任何其他应在应用程序启动后立即执行的逻辑初始化我们的数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM