這篇文章寫的很好https://blog.csdn.net/gaodebao1/article/details/51789225 ,可以直接消化。
本文開始:
1、引入@Scheduled
!在class中增加@Component註解,當然可以是@service ,@Controller 等等
!然後在啓動類中加入啓動@@EnableScheduling 開啓定時任務,如果沒有這個註解,那麼定時任務不會加入注入容器。
! 在對應類的方法中加入@Scheduled註解,如:
//這裏是使用配置加默認值得方式
@Scheduled(cron = "${crons:0 0 * * * ? }")
2、在ScheduledAnnotationBeanPostProcessor 這個類的processScheduled方法中加入斷點,然後啓動服務,即可發現其注入過程。
String cron = scheduled.cron();
這個代碼是其定時任務表達式。
其餘都可以通過斷點觀察。