Spring + task 注解的方式实现定时任务

时间:2022-05-22 21:08:42

采用配置文件的方式请参考:点击打开链接

首先在applicationContext.xml文件中

xmlns部分加上:

xmlns:task="http://www.springframework.org/schema/task
在xsi:schemaLocation部分加上:

http://www.springframework.org/schema/task  
http://www.springframework.org/schema/task/spring-task-3.1.xsd
在加上注解扫描:

<task:annotation-driven />   
<context:annotation-config />
<context:component-scan base-package="com.srkj.code"/>
然后开始写java类,注意一下注解的定义要放在java的实现类里面

ITimesService.java接口:

package com.srkj.code.service.times;
/**
* 定时任务接口
* @author 胡汉三
*
* 2015-5-17 上午12:22:59
*/
public interface ITimesService {

/**
* 每天凌晨0点执行过期广告状态更新
*/
public void job();
}
TimesServiceImpl.java实现类:

package com.srkj.code.service.times.impl;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import com.srkj.code.repository.advertisement.RepAdvertisement;
import com.srkj.code.service.times.ITimesService;

/**
* 定时任务实现类
* @author 胡汉三
*
* 2015-5-17 上午12:24:58
*/
@Component
public class TimesServiceImpl implements ITimesService{

@Autowired
private RepAdvertisement advertisement;

@Scheduled(cron="0 0 0 * * ?") //每天零点执行
public void job() {
System.out.println("执行定时任务");
advertisement.updateStatusByTime();
}

}


这样就OK了!