Spring注解-TaskScheduler

一、定义配置类

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;

/**
 * 定时器的配置类
 * @author DUCHONG
 * @since 2017-08-15 9:51
 **/
@Configuration
@ComponentScan("com.duchong.springboot.demo")
@EnableScheduling
public class SchedulerConfig {
}

二、执行方法

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 定时器的服务
 * @author DUCHONG
 * @since 2017-08-15 9:55
 **/
@Service
public class ScheduledService {
    private static final SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRate = 5000)
    public void schedule1(){
        System.out.println("fixedRate--每五秒执行一次:"+sdf.format(new Date()));
    }

    @Scheduled(cron = "0/1 * * * * ?")
    public void schedule2(){
        System.out.println("cron表达式--每一秒执行一次:"+sdf.format(new Date()));
    }
}

三、Main方法

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * 定时任务的启动类
 * @author DUCHONG
 * @since 2017-08-15 10:13
 **/
public class SchedulerMain {

    public static void main(String[] args) {
        AnnotationConfigApplicationContext applicationContext=new AnnotationConfigApplicationContext(SchedulerConfig.class);
    }

}

四、结果

顺便说一句,spring全注解真的很好用。

原文地址:https://www.cnblogs.com/geekdc/p/7363953.html