비동기 처리
1. 먼저 springboot 프로젝트를 생성합니다
提示:选择的java版本不要太高
여기서는 Spring Web을 선택했습니다.
2. 서비스 계층에 AswncService 코드 작성
指定异步内容,在方法上面加注解@Async,为了告诉Spring这是一个异步的方法
/**
* @Author liuyun
* @Date 2023/3/6 9:30
* @Version 1.0
*/
@Service
public class AswncService {
//@Async告诉spring这是一个异步的方法
@Async
public void hello(){
try {
//调取这个方法后让休眠三秒
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("数据正在处理");
}
}
3. 컨트롤러 레이어에 AswncController 코드 작성
在该controller上加注解@EnableAsync,也可以加在启动类上,开启异步注解功能
/**
* @Author liuyun
* @Date 2023/3/6 9:30
* @Version 1.0
*/
@EnableAsync//开启异步注解功能
@RestController
public class AswncController {
//引入service
@Autowired
AswncService aswncService;
@RequestMapping("/hello")
public String hello(){
//调取service中的方法
aswncService.hello();
//返回OK
return "OK";
}
}
4. 프로젝트 시작
如果没有启动异步功能,访问页面会等待三秒(转圈),然后才显示;开启异步功能以后则不会受方法影响,直接显示OK
3초 후 백그라운드에서 호출된 aswncService.hello() 메서드는 다음 내용을 표시합니다.
이는 간단한 비동기 처리 함수입니다.
이것이 당신에게 도움이 되기를 바랍니다