使用spring @Scheduled注解执行定时任务

来源:互联网 发布:结婚线路图制作软件 编辑:程序博客网 时间:2024/06/12 17:33

spring配置文件

<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/beanshttp://www.springframework.org/schema/beans/spring-beans-4.2.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://www.springframework.org/schema/taskhttp://www.springframework.org/schema/task/spring-task-4.2.xsd">
其他配置

<context:component-scan base-package="com.baofoo.cutpayment" /><!--包扫描--><task:annotation-driven /><!-- 任务扫描注解-->
实现类MyTaskServiceImpl

@Service@Slf4jpublic class MyTaskServiceImpl implements MyTaskService {    @Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次    public void myTest(){        System.out.println("...spring容器不关闭,这样子就可以看定时任务效果...");    }}
需要注意的几点:
1、spring的@Scheduled注解  需要写在实现上、
2、定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true、具体就去百度google吧)
3、实现类上要有@Component @Service 等spring bean注解。交由spring容器管理bean。 

参考文章:http://blog.csdn.net/sd4000784/article/details/7745947




原创粉丝点击