此文標題有錯,感謝各位網友指出
林炳文Evankaka原創作品。轉載請註明出處http://blog.csdn.net/evankaka
新建一個Java工程,導入要用到的包,Spring3.2、Quartz2.2.1、aopalliance-1.0.jar、commons-logging-1.2.jar。整個工程目錄如下:
本文工程免費下載
1、配置需要調度的類,並添加註解
-
package com.mucfc;
-
import java.text.SimpleDateFormat;
-
import java.util.Date;
-
-
import org.springframework.scheduling.annotation.Scheduled;
-
import org.springframework.stereotype.Component;
-
-
-
-
-
-
@Component
-
public class MyJob {
-
public MyJob(){
-
System.out.println("MyJob創建成功");
-
}
-
@Scheduled(cron = "0/1 * * * * ? ")
-
public void run(){
-
System.out.println("Hello MyJob "+
-
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ").format(new Date()));
-
}
-
-
}
2、首先要配置我們的beans.xml,在xmlns 多加下面的內容
-
xmlns:task="http://www.springframework.org/schema/task"
3、然後xsi:schemaLocation多加下面的內容
4、最後是我們的task任務掃描註解
-
<!--開啓這個配置,spring才能識別@Scheduled註解-->
-
<task:annotation-driven/>
5、自動配置掃描位置:
-
<!-- 自動掃描註解的bean -->
-
lt;context:component-scan base-package="com.mucfc"/>
6、整個文檔如下
-
<?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:p="http://www.springframework.org/schema/p" 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">
-
-
-
<task:annotation-driven/>
-
-
<context:component-scan base-package="com.mucfc"/>
-
-
</beans>
7、使用
-
package com.mucfc;
-
import org.springframework.context.ApplicationContext;
-
import org.springframework.context.support.ClassPathXmlApplicationContext;
-
public class Test {
-
-
public static void main(String[] args) {
-
-
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
-
}
-
-
}
輸出結果:
一旦這個xml被加載進來來,就會自動創建bean的實例,並且開始定時任務了
需要注意的幾點:
1、spring的@Scheduled註解 需要寫在實現上
2、 定時器的任務方法不能有返回值(如果有返回值,spring初始化的時候會告訴你有個錯誤、需要設定一個proxytargetclass的某個值爲true、具體就去百度google吧)
3、實現類上要有組件的註解@Component
林炳文Evankaka原創作品。轉載請註明出處http://blog.csdn.net/evankaka
本文工程免費下載