Spring boot 仅当@EnableScheduling存在时生成bean

Spring boot 仅当@EnableScheduling存在时生成bean,spring-boot,scheduled-tasks,spring-bean,Spring Boot,Scheduled Tasks,Spring Bean,我正在安排图书馆。我正在使用@EnableScheduling在Spring boot中启用和运行调度程序。我的调度程序中需要很多bean/组件。但我只想在应用程序中存在@EnableScheduling时创建bean。我怎样才能做到这一点呢?如果你看一下它是如何做到的,你会发现它导入了配置。在这个配置类中,定义了一个bean,称为 这意味着,如果使用检查是否存在scheduledNotationBeanPostProcessorbean,则可以定义仅在存在@EnableScheduling时创

我正在安排图书馆。我正在使用
@EnableScheduling
在Spring boot中启用和运行调度程序。我的调度程序中需要很多bean/组件。但我只想在应用程序中存在
@EnableScheduling
时创建bean。我怎样才能做到这一点呢?

如果你看一下它是如何做到的,你会发现它导入了配置。在这个配置类中,定义了一个bean,称为

这意味着,如果使用检查是否存在
scheduledNotationBeanPostProcessor
bean,则可以定义仅在存在
@EnableScheduling
时创建的bean

为此,我们可以使用注释。例如:

@Bean
@ConditionalOnBean(ScheduledAnnotationBeanPostProcessor.class)
公共命令行运行程序appRunner(){
返回args->logger.info(“调度已启用!”);
}

如果您查看它的作用,您将看到它导入了配置。在这个配置类中,定义了一个bean,称为

这意味着,如果使用检查是否存在
scheduledNotationBeanPostProcessor
bean,则可以定义仅在存在
@EnableScheduling
时创建的bean

为此,我们可以使用注释。例如:

@Bean
@ConditionalOnBean(ScheduledAnnotationBeanPostProcessor.class)
公共命令行运行程序appRunner(){
返回args->logger.info(“调度已启用!”);
}

创建一个条件规则,用于检查是否存在
ScheduledAnnotationBeanPostProcessor
(这是
@EnableScheduling
最终注册的内容)。您可以在本文中找到答案:使用条件。创建一个条件规则,用于检查是否存在
ScheduledAnnotationBeanPostProcessor
(因为这是
@EnableScheduling
最终注册的内容。你可以在这篇文章中找到答案:使用条件。