SpringBoot二次学习总结

2018-06-04  本文已影响10人  老汉健身

关键词:定时任务 异步任务 拦截器

1.定时任务

在APP启动类里添加@EnableScheduling开启定时任务注解

新建任务类,并在该类上添加@Component注解

在需要定时执行的方法上添加@Scheduled(fixedRate=xxxx) 单位是毫秒,意味着每隔x秒执行任务.

更多的时候是使用cron表达式,示例(先访问cron.qqe2.com定义执行的时间要求,:

@Scheduled(cron = "4-40****?")

public void reportCurrentTime(){

System.out.println("....");

}

意味着每分钟的第4-40秒都打印...

2.异步执行任务

在APP启动类里添加@EnableAsync注解开启异步自动扫描,

新建异步处理类,添加@Component注解,在需要异步执行的方法上添加@Async注解,即可实现异步执行,常用的比如发短信,发邮件,可以提高执行效率,节省执行时间.

3.拦截器

在类上添加@Configuration注解,配置拦截器.

继承WebMvcConfigurerAdapter

重写addInterceptors方法,添加需要的拦截器地址.

新建拦截器类,并实现HandlerInterceptor.

public class OneInterceptor implemens HandlerInterceptor{

    public void addInterceptors(InterceptorRegistry registry){

            registry.addInterceptor(new OneInterceptor()).addPathPatterns("/one/**")//拦截One控制器中所有方法.

            super.addInterceptors(registry);

}

    public boolean preHandle(HttpServletRequest request,HttpServletResponse     response,Object object) throws Exception{

        System.out.println("被One拦截,放行...");

        return true;//表示放行,如果为false,表示拦截.

}

}

上一篇下一篇

猜你喜欢

热点阅读