如有需要可以加我Q群【308742428】大家一起讨論技術,提供技術支援。
後面會不定時為大家更新文章,敬請期待。
話不多說直接上代碼:
1.在啟動類加注解
@EnableScheduling
@EnableScheduling
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
this.setRegisterErrorPageFilter(false); // 錯誤頁面有容器來處理,而不是SpringBoot
return builder.sources(Application.class);
}
}
2.建立定時任務類-對應的業務邏輯根據自己的需求來這裡我隻是做測試
public class UserTask {
@Autowired
private ZrUserService zrUserService;
@Scheduled(cron = "0 15 0 * * ?")
public void testSchedule(){
System.out.println("開啟定時任務------------------------------------");
ZrUser zrUser=new ZrUser();
List<ZrUser> list = zrUserService.findList(zrUser);
//目前時間
Date date=new Date();
for (int i=0;i<list.size();i++){
if (!"1".equals(list.get(i).getStatus())){
Date freezeDueTime = list.get(i).getFreezeDueTime();
int s = date.compareTo(freezeDueTime);
//目前時間小于當機到期時間-解凍
if (s<0){
ZrUser zrUser1 = list.get(i);
zrUser1.setStatus("1");
zrUser1.setFreezeDueTime(new Date());
zrUserService.update(zrUser1);
System.out.println(s);
}
}
}
}
}
啟動項目就會跑定時任務了。