1. 添加注解  @EnableScheduling

没加这个注解,定时器不会跑的

 

2. 写具体的业务,方法上要加 @Scheduled

@Component
public class SendMailScheduled {

    protected Logger logger = LoggerFactory.getLogger(SendMailScheduled.class);

    private AtomicInteger ato = new AtomicInteger();



//    @Scheduled(cron="0 */5 * * * ?")   //每5分钟执行一次
//    @Scheduled(cron="0 */1 * * * ?")   //每1分钟执行一次
    @Scheduled(fixedDelay=30*1000)   //每30s执行一次
    public void send(){

        int num = ato.getAndIncrement();
        logger.info("index={} , start run send mail. ",num);

    }


}

 

 

# 这个方法每隔 5 秒就会被调用,5 秒钟的间隔是指从上一次调用的完成之时开始算起
@Scheduled(fixedDelay=5000)


# 这个方法每隔 5 秒就会被调用,此时的 5 秒就是从上一次调用之始开始算起了
@Scheduled(fixedRate=5000)


#  initialDelay 属性来指定一个延迟时间,下面这个方法会先等待 1 秒
@Scheduled(initialDelay=1000, fixedRate=5000)


# cron表达式 每1分钟执行一次
@Scheduled(cron="0 */1 * * * ?")