springboot 相对于其余而言,就是化繁为简,能用注解完成的,毫不用xml。html
定时器 也不例外!java
首先,在启动类上打开 定时器的总开关spring
@SpringBootApplication //开启缓存功能 @EnableCaching //定时器总开关 @EnableScheduling public class ShiroApplication { public static void main(String[] args) { SpringApplication.run(ShiroApplication.class, args); } }
而后在 定时任务 类加上 apache
@Component 和 @Scheduled(cron = "0 0/5 * * * ?") //表示每5分钟执行一次
@Component public class Timer { @Autowired JedisPool jedisPool; @Scheduled(cron = "0 0/5 * * * ?") public void deleteFromCache() { Jedis jedis =null; jedis =jedisPool.getResource(); jedis.del("users::userCache"); System.err.println("users::userCache.从缓存中删除."); System.out.println("执行了Timer,时间为:" + new Date(System.currentTimeMillis())); } }
2018-08-09 09:14:36,865 DEBUG OrderedRequestContextFilter:104 - Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@4b251260 users::userCache.从缓存中删除. 执行了Timer,时间为:Thu Aug 09 09:15:00 CST 2018 users::userCache.从缓存中删除. 执行了Timer,时间为:Thu Aug 09 09:20:00 CST 2018 执行了Timer,时间为:Thu Aug 09 09:25:00 CST 2018 users::userCache.从缓存中删除. users::userCache.从缓存中删除. 执行了Timer,时间为:Thu Aug 09 09:30:00 CST 2018 执行了Timer,时间为:Thu Aug 09 09:35:00 CST 2018 users::userCache.从缓存中删除. 执行了Timer,时间为:Thu Aug 09 09:40:00 CST 2018 users::userCache.从缓存中删除.