spring框架实现定时任务调度

应用场景

一般用于定时发工资
或者定时清理垃圾
周期性更新数据库

使用

先导入包
spring框架实现定时任务调度_第1张图片

第一步:
在Spring配置文件中进行配置基本信息
spring框架实现定时任务调度_第2张图片
第二步:在xsi中添加

http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-4.0.xsd

spring框架实现定时任务调度_第3张图片
第三步:然后是必须的一项,因为这个是spring提供的定时任务,所以需要进行扫描类下的包才能执行相应的操作
配置扫描的包 我把相应的测试类放到com.test包下,这个一定要写
spring框架实现定时任务调度_第4张图片
第四步:
需要执行的定时任务

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. }

spring框架实现定时任务调度_第5张图片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触发
第五步:测试
spring框架实现定时任务调度_第6张图片

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方法
		
	}

}

步骤
任务调度:

  1. 搭建spring 框架

  2. 添加jar包

  3. aopalliance 任务调度需要的jar包

  4. 写要执行的方法

  5. 设置执行的时间

  6. 配置文件中添加

你可能感兴趣的:(spring框架相关,spring,java)