天天看點

spring schedule定時任務(一):注解的方式

我所知道的java定時任務的幾種常用方式:

1、spring schedule注解的方式;

2、spring schedule配置檔案的方式;

3、java類繼承timertask;

第一種方式的實作:

1、使用maven建立spring項目,schedule在spring-context.jar的包下邊,是以需要導入與之相關的包;同時,我配的是spring

web項目,也同時導入了spring-web和spring-webmvc的包,如下:

maven導包配置隻需要如下就好,其他相關的依賴,maven會自行解決。

2、配置spring項目的基礎檔案spring.xml:

3、編寫java業務代碼,需要在類聲明上邊添加@component注解,并在需要定時任務執行的方法聲明上添加@scheduled(cron = "0/5 * * * * ?")注解以及相關的參數。

4、web項目的基礎配置檔案web.xml,:

上邊的配置中使用了spring的上下文監聽器,在這種情況下項目啟動後,spring.xml中的定時任務配置才會生效。但是這不是唯一的方法,也可以使用如下的配置,啟動項目後可以看到一樣的效果:

這裡是吧spring的監聽器換成了mvc的排程器,在排程器加載的時候就運作spring.xml中的定時任務配置,是以啟動項目後看到效果一樣。如果把上邊的監聽器和mvc的排程器一起配在這裡,會看到啟動項目後同一時間内這個定時任務需要執行的業務會執行兩次。