SpringBoot(29)异步任务初见解

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字段,但是控制台的内容会在三秒后输出

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页