网站首页> 博客> spring自带的定时任务功能,基于注解和xml配置

spring自带的定时任务功能,基于注解和xml配置

好文 1287
Ibug
Ibug 2018-05-08
收藏

1、spring的配置文件


  1. <beans xmlns="http://www.springframework.org/schema/beans"  

  2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   

  3.     xmlns:p="http://www.springframework.org/schema/p"  

  4.     xmlns:task="http://www.springframework.org/schema/task"  

  5.     xmlns:context="http://www.springframework.org/schema/context"  

  6.     xmlns:aop="http://www.springframework.org/schema/aop"   

  7.     xsi:schemaLocation="http://www.springframework.org/schema/beans   

  8.     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  

  9.     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd    

  10.     http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd    

  11.     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd    

  12.     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd    

  13.     http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd">  

  14.   

  15.     <task:annotation-driven />   

  16.   

  17.     <bean id="myTaskXml" class="com.spring.task.MyTaskXml">bean>  

  18.   

  19.     <task:scheduled-tasks>  

  20.           

  21.         <task:scheduled ref="myTaskXml" method="show" cron="*/5 * * * * ?" />  

  22.         <task:scheduled ref="myTaskXml" method="print" cron="*/10 * * * * ?"/>  

  23.     task:scheduled-tasks>  

  24.       

  25.         

  26.     <context:component-scan base-package="com.spring.task" />  

  27.       

  28. beans>  

2、基于xml的定时器任务

  1. package com.spring.task;  

  2.   

  3. /** 

  4.  * 基于xml的定时器 

  5.  */  

  6. public class MyTaskXml {  

  7.       

  8.       

  9.     public void show(){  

  10.         System.out.println("XMl:is show run");  

  11.     }  

  12.       

  13.     public void print(){  

  14.         System.out.println("XMl:print run");  

  15.     }  

  16. }  

3、基于注解的定时器任务

  1. package com.spring.task;  

  2.   

  3. import org.springframework.scheduling.annotation.Scheduled;  

  4. import org.springframework.stereotype.Component;  

  5.   

  6. /** 

  7.  * 基于注解的定时器 

  8.  */  

  9. @Component  

  10. public class MyTaskAnnotation {  

  11.       

  12.     /**  

  13.      * 定时计算。每天凌晨 01:00 执行一次  

  14.      */    

  15.     @Scheduled(cron = "0 0 1 * * *")   

  16.     public void show(){  

  17.         System.out.println("Annotation:is show run");  

  18.     }  

  19.       

  20.     /**  

  21.      * 心跳更新。启动时执行一次,之后每隔2秒执行一次  

  22.      */    

  23.     @Scheduled(fixedRate = 1000*2)   

  24.     public void print(){  

  25.         System.out.println("Annotation:print run");  

  26.     }  

  27. }  

4、测试

  1. package com.spring.test;  

  2.   

  3. import org.springframework.context.ApplicationContext;  

  4. import org.springframework.context.support.ClassPathXmlApplicationContext;  

  5.   

  6.   

  7. public class Main {  

  8.     public static void main(String[] args) {  

  9.         ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-mvc.xml");  

  10.     }  

  11. }  

运行结果:
Annotation:print run
Annotation:print run
Annotation:print run
XMl:print run
XMl:is show run
Annotation:print run
Annotation:print run

  • 没有任何评论
个评论
Ibug

Ibug (青铜)

90金币 (5)粉丝 (39)源码

(该家伙很懒,什么也没说!)

 

加入微信群,不定期分享源码和经验
签到活跃榜 连续签到送额外金币
最新博客
校园跑腿系统外卖系统软件平台大学生创业平台搭建 1187
壹脉销客智能名片CRM系统小程序可二开源码交付部署 1235
为啥没搞了 1831
Nginx 的 5 大应用场景,太实用了! 1990
CentOS 8-stream 安装Postgresql 详细教程 2298
JAVA智慧校园管理系统小程序源码 电子班牌 Sass 模式 1744
Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 1510
Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 1473
致远OA权限 2416
发博客会有金币吗 1549