Rumah > Java > javaTutorial > Bagaimana untuk melaksanakan tugas tak segerak dalam springboot

Bagaimana untuk melaksanakan tugas tak segerak dalam springboot

WBOY
Lepaskan: 2023-05-14 15:07:06
ke hadapan
1544 orang telah melayarinya

Pengenalan kepada Spring Boot

Spring Boot ialah rangka kerja baharu yang disediakan oleh pasukan Pivotal Ia direka untuk memudahkan proses pembinaan dan pembangunan awal aplikasi Spring baharu. Rangka kerja menggunakan pendekatan ad hoc untuk konfigurasi, menghapuskan keperluan untuk pembangun untuk menentukan konfigurasi boilerplate. Untuk memahaminya dalam kata-kata saya, Spring Boot sebenarnya bukan rangka kerja baharu Ia mengkonfigurasi penggunaan banyak rangka kerja secara lalai, sama seperti Maven menyepadukan semua pakej Jar dan Spring Boot menyepadukan semua rangka kerja.

Ciri But Spring

1) Buat aplikasi Spring bebas;

2) Benamkan terus Tomcat, Jetty atau Undertow tanpa menggunakan fail WAR

3) Sediakan fail POM asas (pemula) untuk memudahkan konfigurasi Apache Maven; persekitaran, seperti penunjuk prestasi, maklumat aplikasi dan pemeriksaan kesihatan aplikasi; Nilai lalai juga boleh diubah suai untuk memenuhi keperluan tertentu.

7) Sebilangan besar projek lain adalah berdasarkan Spring Boot, seperti Spring Cloud.

Tugas tak segerak

Contoh:

Tulis kaedah helo dalam perkhidmatan dan tangguhkannya selama tiga saat

@Service
public class AsyncService {
    public void hello(){
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("数据正在处理!");
    }
}
Salin selepas log masuk

Biar Pengawal memanggil perniagaan ini

@RestController
public class AsyncController {
    @Autowired
    AsyncService asyncService;
    @GetMapping("/hello")
    public String hello(){
        asyncService.hello();
        return "ok";
    }
}
Salin selepas log masuk

Apabila kita memulakan projek SpringBoot, kita akan mendapati bahawa ia akan mengambil masa tiga saat untuk bertindak balas ok.

Jadi, kita perlu menggunakan tugas tak segerak untuk menyelesaikan masalah ini. Sangat mudah untuk menambah anotasi.

Anotasi @Async pada kaedah helo

@Service
public class AsyncService {
    //异步任务
    @Async
    public void hello(){
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("数据正在处理!");
    }
}
Salin selepas log masuk

Dayakan fungsi anotasi tak segerak pada kelas permulaan SpringBoot

@SpringBootApplication
//开启了异步注解的功能
@EnableAsync
public class Sprintboot09TestApplication {

    public static void main(String[] args) {
        SpringApplication.run(Sprintboot09TestApplication.class, args);
    }

}
Salin selepas log masuk

Masalah selesai, pelayan akan bertindak balas ke hadapan- tamatkan data serta-merta!

Semakin pokok itu mendambakan cahaya di tempat yang tinggi, semakin banyak akarnya akan bergerak ke bawah, ke arah tanah dan ke dalam kegelapan.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan tugas tak segerak dalam springboot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan