如有需要可以加我Q群【308742428】大家一起讨论技术,提供技术支持。
后面会不定时为大家更新文章,敬请期待。
话不多说直接上代码:
1.在启动类加注解
@EnableScheduling
@SpringBootApplication @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.新建定时任务类-对应的业务逻辑根据自己的需求来这里我只是做测试
@Component 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); } } } } }
启动项目就会跑定时任务了。