扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
今天就跟大家聊聊有关springboot配置定时任务及常用的cron表达式是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联公司服务项目包括龙马潭网站建设、龙马潭网站制作、龙马潭网页制作以及龙马潭网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,龙马潭网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到龙马潭省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
springboot引入定时任务主要需要以下几步:
1.引入相关的依赖
2.配置程序开启定时任务
3. 编写定时任务
只用引一个基础的web的依赖就可以了
implementation 'org.springframework.boot:spring-boot-starter-web'
只需要在Springboot的Main函数的那个类上加个注解就可以了
/**
* 只需要在这里面加上一个@EnableScheduling这个注解就可以了
*/
@SpringBootApplication
@EnableScheduling
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
编写定时任务
一般定时任务都会放在task包下面,代码如下:
/**
* @Author https://www.javastudy.cloud
* @CreateTime 2019/11/5
**/
@Component
public class TestTask {
/**
* 定时任务的类和别的springBean没什么区别
* 方法上要加@Scheduled,里面写定时的cron表达式
*/
@Scheduled(cron = "0/5 * * * * *")
public void testSchedule(){
System.out.println(new Date());
System.out.println("这个是每5秒执行一次");
}
}
输出结果如下:
对于cron表达式不太熟悉的同学,可以去这个在线网站进行生成https://qqe2.com/cron
cron表达式是从后往前读的,遇到 * 就读每XX, 遇到数字就读 从第XX开始, 遇到 / 就读每隔多XX最后加个执行
如上述DEMO中
cron = "0/5 * * * * *"
每星期,每年,每月,每天,每小时,每分钟,从第0秒开始每隔5秒执行一次
以此类推,有以下常用表达式:
每隔10分钟执行一次:0 0/10 * * * *
每天18点执行一次:0 0 18 * * *
每月1号凌晨3点执行一次:0 0 3 1 * *
定时任务这块,一般小项目会这样去写,在实际生产中,会使用分布式定时任务框架去集中配置,不会分散在各个应用里面,主要的难点在于cron表达式,不好写,需要多总结,才能写出对的cron表达式
看完上述内容,你们对springboot配置定时任务及常用的cron表达式是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流