一个简单的task
spring配置文件
1. 配置xsi:schemaLocation
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd
(基于个人版本号,我用的是3.2)
2.开启spring包扫描
<context:component-scan base-package="(配置需要扫描的位置)" use-default-filters="true">
</context:component-scan>
3.启动task注解
<task:annotation-driven />
代码部分
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
//实现类上必须有注解@Component,不然不会执行
@Component
public class TaskTest{
//@Scheduled 必须写在方法的实现上
@Scheduled(cron = "*/5 * * * * ?")//每隔5秒执行一次
public void test() throws Exception {
Date d = new Date();
DateFormat df = new SimpleDateFormat("HH:mm:ss");
String str = df.format(d);
System.out.println(str);
}
/*
CRON表达式 含义
"0 0 12 * * ?" 每天中午十二点触发
"0 18 09 ? * *" 每天早上09:18触发
"0 18 09 * * ?" 每天早上09:18触发
"0 18 09 * * ? *" 每天早上09:18触发
"0 18 09 * * ? 2017" 2017年的每天早上09:18触发
"0 * 15 * * ?" 每天从下午3点开始到3点59分每分钟一次触发
"0 0/5 15 * * ?" 每天从下午3点开始到3:55分结束每5分钟一次触发
"0 0/5 15,18 * * ?" 每天的下午3点至3:55和6点至6点55分两个时间段内每5分钟一次触发
"0 0-5 14 * * ?" 每天14:00至14:05每分钟一次触发
"0 11,22 15 ? 9 WED" 九月的每周三的15:11和15:22触发
"0 18 09 ? * MON-FRI" 每个周一、周二、周三、周四、周五的09:18触发
*/
}