把spring注解方式的定时写到xml里面,因为定时常常修改在class里面很不方便代码如下
在xlm <beans 里面加入
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="里面加入
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.1.xsd
>
<!-- 扫描定时 可以直接在方法上使用注解 @Scheduled(cron="20 16 9 * * ?") -->
<task:annotation-driven/>
<task:scheduled-tasks scheduler="myScheduler">
<task:scheduled ref="scheduleDemo" method="doImport" cron="20 34 15 * * ?"/><!--ref是bean的named ,method 执行的方法 cron:时间调度-->
</task:scheduled-tasks>
<task:scheduler id="myScheduler" pool-size="10"/><!-- 线程池的个数 -->
加入这段代码
bean的named在class里面加入
@Controller("scheduleDemo")
public class ScheduleDemo {
public void doImport(){ //执行的代码 }
}
或者
@Component("scheduleDemo")
public class ScheduleDemo {
public void doImport(){//执行的代码}
}
或者
@Named("scheduleDemo")
public class ScheduleDemo {
public void doImport(){//执行的代码}
}
方法上写注解
@Controller("scheduleDemo")
public class ScheduleDemo {
@Scheduled(cron="20 16 9 * * ?")
public void doImport(){//执行的代码}
}
bean名字默认就是class名称首字母变小写
如果不支持@Named注解请加入javax.inject.jar
javax.inject.jar百度云下载地址:
http://pan.baidu.com/s/1jH9Zk0m