1. 配置项目的配置文件(application.yml)

scheduling:
	enabled: true

2.创建定时任务配置类

package com.eleven.config;

import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;

/**
 * @author zhaojinhui
 * @date 2020/12/8 16:06
 * @apiNote 定时任务开关
 * @ConditionalOnProperty 配置文件读取是否启用此配置 只能是true,false
 * 读取配置文件中的scheduling.enabled的值判断是否开启定时任务
 * @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 自动注入属性,将需要注入的属性改为private final 可以省去 @Autowired注解
 */
@Configuration
@EnableScheduling
@ConditionalOnProperty(prefix = "scheduling", name = "enabled",havingValue = "true")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class SchedulingConfig {

    private final UserService userService;

    /**
     * 获取用户企业部门信息
     * 每隔三小时执行一次
     */
    @Scheduled(cron = "0 0 0/3 * * ?")
    public void getAllIncrementalData() {
        userService.getAllIncrementalData();
    }
    
}