Spring Task定时任务的快速入门

Spring Task:Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多

@Scheduled注解

在方法上定时使用,该注解标记的方法没有参数,也没有返回值。即使写了返回值,也会被忽略。

@EnableScheduling 注解

启动spring定时任务的能力,通常用在配置类上面

该注解会使Spring 容器中所有bean中的@Scheduled注解起作用

 

开始表演

-------------------------------------------------------------1---------------------------------------------------------------------

MyTask.class

/**
 * 定时任务类
 */
public class MyTask {
    @Scheduled(fixedRate=3)//注解在方法上,3s执行一次
    public void task(){
        System.out.println("ssssssssss");
    }
}

TaskConf.class


@Configuration
@EnableScheduling//在改配置下的定时任务对象,开启定时任务能力
/**
 * 定时任务配置类
 */
public class TaskConf {
    @Bean
    public MyTask myTask(){//把定时任务类注入到ioc容器
        return new MyTask();
    }
}

Spring Task定时任务的快速入门_第1张图片

-------------------------------------------------------------2---------------------------------------------------------------------

可以直接在任务类上注解开启任务

/**
 * 定时任务类
 */
@Component
@EnableScheduling
public class MyTask {
    @Scheduled(fixedRate=3)//注解在方法上
    public void task(){
        System.out.println("ssssssssss");
    }
}

Spring Task定时任务的快速入门_第2张图片

-------------------------------------------------------------3---------------------------------------------------------------------

/**
 * 定时任务类
 */
@Component
public class MyTask {
    @Scheduled(fixedRate=3)//注解在方法上
    public void task(){
        System.out.println("ssssssssss");
    }
}
@SpringBootApplication
@EnableScheduling
@MapperScan("com.example.mapper")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

 

你可能感兴趣的:(spring,spring,boot)