spring task 定时任务实现
来源:互联网 发布:帝国仿内涵吧网源码 编辑:程序博客网 时间:2024/06/05 02:00
一、引入spring相关jar包:
二、在web.xml中配置spring
<listener> <description>Spring监听器</description> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value></context-param>
三、在applicationContext.xml中配置监听器
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd" default-lazy-init="false"> <!-- 注解方式 --> <context:annotation-config /> <context:component-scan base-package="com.test.task" /> <task:annotation-driven/> <!-- XML方式 --> <!-- <bean name="testTask" class="com.test.task.TestTask" lazy-init="false"></bean> <task:scheduled-tasks> <task:scheduled ref="testTask" method="print" cron="0/5 * * * * ?"/> </task:scheduled-tasks> --></beans>
四、编写实体类
package com.test.task;import java.text.DateFormat;import java.util.Date;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;@Componentpublic class TestTask { @Scheduled(cron = "*/5 * * * * ?") public void print(){ String time = DateFormat.getDateTimeInstance().format(new Date()); System.out.println("定时器触发打印"+time); }}
五、工程目录:
运行结果:
版权声明:本文为博主原创文章,未经博主允许不得转载。
以前框架使用quartz框架执行定时调度问题、
老大说这配置太麻烦、每个调度都需要多加在spring的配置中、
能不能减少配置的量从而提高开发效率、
最近看了看spring的 scheduled的使用注解的方式进行调度、
感觉很方便、起码配置的东西少了很多、
所以留下来以备忘了、
首先要配置我们的spring.xml
xmlns 多加下面的内容、
然后xsi:schemaLocation多加下面的内容、
最后是我们的task任务扫描注解
我的配置扫描位置是:
下面需要接口和实现(我的这几个Java文件都是com.test的包下的、)
执行后控制台就会打印出 进入测试 了
需要注意的几点:
1、spring的@Scheduled注解 需要写在实现上、
2、 定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true、具体就去百度google吧)
3、实现类上要有组件的注解@Component
剩下的就是corn表达式了、具体使用以及参数请百度google、
下面只例出几个式子
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 task定时任务实现
- Spring task实现定时任务
- spring task 定时任务实现
- spring task 定时任务实现
- 最简单spring task 定时任务实现
- 使用spring task实现定时任务
- 【Spring】Quartz和Task实现定时任务
- Spring Task 定时任务
- Spring-Task 定时任务
- spring task 定时任务
- Spring Task定时任务
- Spring Task定时任务
- Spring Task定时任务
- Spring-task 定时任务
- Spring task定时任务
- Spring Task定时任务
- Spring task定时任务
- Spring Task定时任务
- 项目中整合第三方插件与SpringMVC数据格式化关于ip地址
- hdu 1849 Rabbit and Grass
- 高性能MYsql读书笔记-加快alter table操作的速度
- Renesas CS+ for ca cx入门(三)
- Algorithm_princeton UnionFind COPY
- spring task 定时任务实现
- VIM配置
- JDBC
- vim中":x"和":wq"的区别
- traceroute 检测
- [HAOI2011][BZOJ2302] problem C 组合数+动态规划
- SQL Join的一些总结
- 第九章:vue2中路由的使用
- 协程应用——制作简单的计时器