在Spring Boot中,可以使用@Async
注解來實現異步調用。
@EnableAsync
注解來啟用異步調用功能。@SpringBootApplication
@EnableAsync
public class YourApplication {
public static void main(String[] args) {
SpringApplication.run(YourApplication.class, args);
}
}
@Async
注解。@Service
public class YourService {
@Async
public void asyncMethod() {
// 異步執行的任務
}
}
@RestController
public class YourController {
@Autowired
private YourService yourService;
@GetMapping("/async")
public String async() {
yourService.asyncMethod();
return "Async method invoked.";
}
}
在上述代碼中,YourService
類中的asyncMethod()
方法被標記為異步方法,當調用該方法時,Spring Boot會自動將該方法放入線程池中異步執行,不會阻塞當前線程。
需要注意的是,異步方法的返回值為void
,如果需要獲取異步方法的執行結果,可以使用CompletableFuture
或者ListenableFuture
等方式來處理。