STEP 1:在spring配置文件中添加相應配置,以支持定時任務的註解實現java
(一)在xml里加入task的命名空間spring
<!-- beans裏添加:--> 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
(二)啓用註解驅動的定時任務spa
<task:annotation-driven scheduler="scheduler"/>
(三)配置定時任務的線程池線程
注:spring定時任務默認單線程,推薦配置線程池,若不配置多任務下會有問題。code
<task:scheduler id="scheduler" pool-size="10" />
以上配置完成後,後續無需再修改配置文件。xml
STEP 2:代碼部分只須要加上兩個註解便可blog
import java.util.Date; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component("taskJob") public class Test { @Scheduled(cron = "0/5 * * * * ?") public void showTime() { System.out.println(new Date()); } }
(一)在定時類上加@Component("taskJob")get
(二)在須要定時執行的方法上加@Scheduled,其中io
@Scheduled(fixedRate = 60000) 表示每60秒執行一次class
@Scheduled(cron = "0 0 1 * * ?") 表示天天凌晨1點時執行(在線cron表示式生成器:http://cron.qqe2.com/)