【发布时间】:2019-04-09 04:41:51
【问题描述】:
我正在尝试正确启动我的非 Web/非批处理 Spring Boot 应用程序。
但是,如果我将主要任务放在 CommandLineRunner 中,它也会在运行测试时被触发。将任务作为批处理作业运行将起作用,但我的任务不遵循批处理作业语义。
在super()调用标准方式之后,是否扩展SpringApplication类并将逻辑放入run()方法中?
【问题讨论】:
-
没有。 “标准”方式是将您的业务逻辑放在 Service 类中并从运行器调用它。
-
您可以确保只为某些配置文件创建
CommandLineRunner。因此,如果您这样做,并确保在执行测试时不使用这些配置文件,我认为没有任何问题? -
调用我的服务的命令行运行器也会在我运行单元测试时被调用。
-
谢谢@g00glen00b。这对我有用。
标签: spring-boot