一.概述:
1.定时任务作为一种常见的需求,在java开发定时任务主要有三种解决方案:
-JDK的timer
-第三方组件: Quartz
-Spring Task
2.Timer是jdk自带的定时任务工具,对于复杂的定时规则无法满足,在实际项目中也不常用;
Quartz功能强大,但使用相对笨重。
Spring Task 则具备两者的优点,除相关的Spring包以外,不需要额外的包,支持注解和配置文件两种形式。
<?xml version="1.0" encoding="UTF-8"?>
XML配置scheduled@Componentpublic class TaskTest { //定义日期格式 private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //定义定时任务的方法 public void jobOne(){ System.out.println("Happy birthday on " + simpleDateFormat.format(new Date())); }}注解配置@Componentpublic class TaskTest { //定义日期格式 private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //定义定时任务的方法 @Scheduled(cron = "1/5 * * * * ?") public void jobOne(){ System.out.println("Happy birthday on " + simpleDateFormat.format(new Date())); }}