1.模拟需要异步任务的场景
业务层
@Service
public class AsynService {
public void hello(){
try {
Thread.sleep(3000);
}catch (Exception e){
e.printStackTrace();
}
System.out.println("数据正在处理中。。。");
}
}
控制层
@Autowired
AsynService asynService;
@RequestMapping("/hello")
public String hello(){
asynService.hello();
return "hello";
}
模拟发送请求访问的时候,页面刷新三秒后得到反应。
2.开启异步任务
1.@Async:告诉Spring需要开启异步任务的方法
@Async
public void hello(){
try {
Thread.sleep(3000);
}catch (Exception e){
e.printStackTrace();
}
System.out.println("数据正在处理中。。。");
}
2.@EnableAsync:在程序主入口上开启异步任务
@EnableAsync
@SpringBootApplication
public class SpringbootAsynchronousApplication {
...
}
3.页面会直接跳转显示hello字段,但是控制台的内容会在三秒后输出