gpt4 book ai didi

spring-boot - 非web、非批处理的Spring Boot app的应用逻辑应该放在哪里?

转载 作者:行者123 更新时间:2023-12-05 03:04:07 25 4
gpt4 key购买 nike

我正在尝试正确启动我的非 Web/非批处理 Spring Boot 应用程序。

但是,如果我将主要任务放在 CommandLineRunner 中,它也会在运行测试时被触发。将任务作为批处理作业运行,但我的任务不遵循批处理作业语义。

扩展 SpringApplication 类并将逻辑放在 super() 调用标准方法之后的 run() 方法中?

最佳答案

如果您使用 @Profile 注释来注释您的 CommandLineRunner bean,您可以告诉 Spring 仅在使用(或不使用)某些配置文件运行时创建 bean,例如:

@Component
@Profile("autorun")
public class JobRunner implements CommandLineRunner {
// ...
}

只要您在测试时不使用这些配置文件,就不应调用它。然后,您可以使用 -Dspring.profiles.active=autorun 参数运行应用程序。

关于spring-boot - 非web、非批处理的Spring Boot app的应用逻辑应该放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53160883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com