关键词:定时任务 异步任务 拦截器
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,表示拦截.
}
}