springboot 定時任務使用

定時任務一般是項目中都需要用到的,可以用於定時處理一些特殊的任務。 在SpirngBoot中使用定時任務變的特別簡單,不需要再像SpringMVC一樣寫很多的配置,只需要在啓動類上增加一個@EnableScheduling註解即可。

啓動類開啓定時任務

//開啓定時任務
@EnableScheduling
@RestController
@SpringBootApplication
//設置掃描的包名
@ComponentScan(basePackages = {"com.preach.controller"})
public class InchlifcApplication {
   public static void main(String[] args) {
      SpringApplication.run(InchlifcApplication.class, args);
   }
}

使用定時任務的類上使用註解@Compoment,在方法上使用註解@Scheduled

@Component
public class IndexController {

    /**
     * 時間間隔,每隔5秒執行一次
     */
    @Scheduled(fixedRate = 5000)
    public void task() {
        System.out.println("現在時間是:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
    }
}

@Component加在需要用到的組件上面,如果是控制層 有@RestController 就不用再加@Component了,其他同理

@Scheduled是方法上註解,添加該註解的方法即爲單個計劃任務,有兩種方式可以定義:

  1. @Scheduled(fixedRate = 3000) //3秒
    通過@Scheduled聲明該方法是計劃任務,使用fixedRate屬性每隔固定時間執行一次

  2. @Scheduled(cron = "0 0/10 * * * ?") //表達式 百度可以獲取更多方式
    使用cron表達式可按照指定時間執行,這裏是每10分鐘執行一次;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章