spring中通过配置文件方式实现定时任务

来源:互联网 发布:lstm python 编辑:程序博客网 时间:2024/04/28 18:18

Spring3.0以后自带有定时任务的实现功能:

一、修改spring配置文件的内容:在文件头添加命名空间和描述

  1. <?xml version="1.0" encoding="UTF-8"? > 
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.      。。。。。。
  5.     xmlns:task="http://www.springframework.org/schema/task"           
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans
  7.          。。。。。。
  8.           http://www.springframework.org/schema/task 
  9.           http://www.springframework.org/schema/task/spring-task-3.0.xsd">  

  10. <task:annotation-driven />                   //支持注解


二、写对应程序执行时间的配置文件:创建一个task.properties配置文件,内容如下

  1. jobs.schedule.task1=0/10 * * * * ?      //每十秒执行一次
  2.  
  3. jobs.schedule.task2=0  40 * * * ?          //每个小时的四十分执行一次
  4.   
  5. jobs.schedule.task3=0  30  4 * * ?           //每天的四点半执行一次

  6. jobs.schedule.task4=0  0/50  * * * ?      //每五十分钟执行一次

       更多时间的设置自行百度


三、对应定时任务执行类

  1. @PropertySource("classpath:task.properties")
  2. @Component
  3. public class test{
  4.      
  5.       @Bean
  6.       public static PropertySourcesPlaceholderConfigurer propertyConfigInDev()
  7.       {
  8.                return new PropertySourcesPlaceholderConfigurer();                       //加上之后spring才能识别${}中的内容
  9.       }
  10.      
  11.       @Value("${jobs.schedule.task2}")
  12.       public String abc;                                 //此时abc的内容为:0  40 * * * ?
  13.  
  14.       @Scheduled(cron = "${jobs.schedule.task1}" )     //定义十秒执行一次
  15.       public void task(){
  16.                 System.out.println("每十秒输出一次该语句");
  17.       }
  18. }

0 0