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();
}
}
-------------------------------------------------------------2---------------------------------------------------------------------
可以直接在任务类上注解开启任务
/**
* 定时任务类
*/
@Component
@EnableScheduling
public class MyTask {
@Scheduled(fixedRate=3)//注解在方法上
public void task(){
System.out.println("ssssssssss");
}
}
-------------------------------------------------------------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);
}