应用场景
一般用于定时发工资
或者定时清理垃圾
周期性更新数据库
使用
先导入包
第一步:
在Spring配置文件中进行配置基本信息
第二步:在xsi中添加
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-4.0.xsd
第三步:然后是必须的一项,因为这个是spring提供的定时任务,所以需要进行扫描类下的包才能执行相应的操作
配置扫描的包 我把相应的测试类放到com.test包下,这个一定要写
第四步:
需要执行的定时任务
1. import org.springframework.scheduling.annotation.Scheduled;
2. import org.springframework.stereotype.Component;
3.
4. /**
5. * Created by leo on 2018/1/22.
6. */
7. @Component
8. public class TimerTask {
9.
10. @Scheduled(cron = "* * * * * ?")//每分钟都执行
11. public void test(){
12. System.out.println("执行");
13. }
14.
15.
16. }
Cron配置
CRON表达式 含义
“0 0 12 * * ?” 每天中午十二点触发
“0 15 10 ? * *” 每天早上10:15触发
“0 15 10 * * ?” 每天早上10:15触发
“0 15 10 * * ? *” 每天早上10:15触发
“0 15 10 * * ? 2005” 2005年的每天早上10:15触发
“0 * 14 * * ?” 每天从下午2点开始到2点59分每分钟一次触发
“0 0/5 14 * * ?” 每天从下午2点开始到2:55分结束每5分钟一次触发
“0 0/5 14,18 * * ?” 每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
“0 0-5 14 * * ?” 每天14:00至14:05每分钟一次触发
“0 10,44 14 ? 3 WED” 三月的每周三的14:10和14:44触发
“0 15 10 ? * MON-FRI” 每个周一、周二、周三、周四、周五的10:15触发
第五步:测试
package com.ath.spring.beans;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.ath.spring.beans.autowired.Person;
public class Test {
public static void main(String[] args) {
ApplicationContext cxt=new ClassPathXmlApplicationContext("applicationContext.xml");
//没有主动调用 test方法
}
}
步骤
任务调度:
-
搭建spring 框架
-
添加jar包
-
aopalliance 任务调度需要的jar包
-
写要执行的方法
-
设置执行的时间
-
配置文件中添加
<task:annotation-driven/>
转载:https://blog.csdn.net/qq_41150890/article/details/108285523