@ConditionalOnProperty来控制@EnableScheduling 启用
时间: 2024-10-24 07:04:40 浏览: 18
Spring Boot中@ConditionalOnProperty的使用方法
5星 · 资源好评率100%
`@ConditionalOnProperty`是Spring框架中的一个条件注解,用于基于应用配置文件中的某个属性值来决定类、组件或配置是否生效。在Spring Boot中,它常用于配置依赖的启用与否,比如控制`@EnableScheduling`这个注解,即开启任务调度。
如果你想通过`@ConditionalOnProperty`来启用或禁用`@EnableScheduling`,你可以这样做:
```java
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.scheduling.annotation.EnableScheduling;
@Configuration
@EnableScheduling
@ConditionalOnProperty(name = "schedule.enabled", havingValue = "true", matchIfMissing = true)
public class SchedulingConfig {
// 这里放置你的任务调度配置
}
```
在这个例子中,如果配置文件中有一个名为`schedule.enabled`的键,其值为`true`,那么`SchedulingConfig`就会启用任务调度。如果该键不存在或者值不是`true`,则不会启用`@EnableScheduling`,默认情况下`matchIfMissing = true`表示如果找不到对应的键,则认为条件满足(如同存在一个默认值)。
阅读全文