我正在尝试正确启动我的非Web /非批处理Spring Boot应用程序。
但是,如果将主要任务放置在中,则CommandLineRunner
在运行测试时也会触发它。将任务作为批处理作业运行将可以工作,但是我的任务没有遵循批处理作业的语义。
扩展SpringApplication
类并将逻辑放在调用run()
后super()
的标准方法中吗?
如果您使用注释对CommandLineRunner
bean进行@Profile
注释,则可以告诉Spring仅在带有(或不带有)某些配置文件的情况下运行Bean,例如:
@Component
@Profile("autorun")
public class JobRunner implements CommandLineRunner {
// ...
}
只要您在测试时不使用这些配置文件,就不应调用它。然后,您可以使用-Dspring.profiles.active=autorun
参数运行应用程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句