springboot 定时任务@Scheduled实现解析

这篇文章主要介绍了springboot 定时任务@Scheduled实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了springboot 定时任务@Scheduled实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1、pom.xml中导入必要的依赖:

org.springframework.bootspring-boot-starter-parent2.0.1.RELEASEOrg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-tomcat

2、写一个springboot的启动类:

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableScheduling; @ComponentScan(basePackages = { "com.xwj.tasks" }) @EnableScheduling // 开启定时任务 @EnableAutoConfiguration public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }

注意这里一定要加上@EnableScheduling注解,用于开启定时任务

3、开始写定时任务:

import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class ScheduleTask { @Scheduled(fixedrate = 1000) // @Scheduled(cron = "0 23-25 18 * * ?") public void testSchedule() { System.out.println("定时任务:" + System.currentTimeMillis()); } }

解释:

@Scheduled注解:

1、fixedrate 以固定速率执行。以上表示每隔1秒执行一次

2、fixedDelay 以上一个任务开始时间为基准,从上一任务开始执行后再次调用

3、cron表达式。可以实现定时调用

在使用的过程中,楼主觉得,如果只有一个定时任务,fixedrate与fixedDelay的效果是一样一样的

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...