现象:
@Scheduled 定时任务
使用:
1:Spring的xml配置文件加入task的命名空间
xmlns:task=“http://www.springframework.org/schema/task”
2:在xsi:schemaLocation中加上:
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd
3:配置Spring的扫描注解:
<task:annotation-driven />
<!-- 扫描任务 -->
<context:component-scan base-package="com.*" />
4:@Component 类标识
@Lazy(false)
该属性默认是true,也就是说会懒加载,只有在被引用的时候才会加载,
为false会在容器初始化的时候急切的加载。加载之后就会执行这个类的定时方法
这里可以不写
6:效果
在线cron表达式生成网站:
http://cron.qqe2.com/
cron表达式
*表示所有值
?表示未说明的值,即不关心它为何值
-表示一个指定的范围
, 表示附加一个可能值
/ 符号前表示开始时间,符号后表示每次递增的值
cron表达式的一些例子
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点
“0 0 12 * * ?” 每天中午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期间的每1分钟触发
“0 0/5 14 * * ?” 在每天下午2点到下午2:55期间的每5分钟触发
“0 0/5 14,18 * * ?” 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
“0 0-5 14 * * ?” 在每天下午2点到下午2:05期间的每1分钟触发
“0 10,44 14 ? 3 WED” 每年三月的星期三的下午2:10和2:44触发
“0 15 10 ? * MON-FRI” 周一至周五的上午10:15触发
“0 15 10 15 * ?” 每月15日上午10:15触发
“0 15 10 L * ?” 每月最后一日的上午10:15触发
“0 15 10 ? * 6L” 每月的最后一个星期五上午10:15触发
“0 15 10 ? * 6L 2002-2005” 2002年至2005年的每月的最后一个星期五上午10:15触发
“0 15 10 ? * 6#3” 每月的第三个星期五上午10:15触发