Perkhidmatan Mikro dan API REST Spring Boot 4 · Pelajaran

Asas Mono dan Flux

Fahami penerbit reaktif.

Pelajaran 1 daripada 413 langkah

Asas Mono dan Flux ialah pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Perkhidmatan Mikro dan API REST Spring Boot 4, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Perkhidmatan Mikro dan API REST Spring Boot 4 merangkumi sejumlah 4 pelajaran.

Apakah Pengaturcaraan Reaktif

Pengaturcaraan reaktif ialah pendekatan membina aplikasi tak menyekat dan tak segerak yang mengendalikan aliran data.

Daripada mengembalikan nilai secara langsung, kaedah reaktif mengembalikan penerbit yang memancarkan data mengikut masa. Pemanggil melanggan untuk menerimanya.

  • Benang tidak disekat sementara menunggu I/O
  • Sangat sesuai untuk perkhidmatan serentak tinggi dan kependaman rendah

Project Reactor

Spring WebFlux dibina berasaskan Project Reactor, yang menyediakan dua jenis penerbit teras:

  • Mono<T> — memancarkan 0 atau 1 item
  • Flux<T> — memancarkan 0 hingga N item

Kedua-duanya melaksanakan antara muka Reactive Streams Publisher.

Mencipta Mono

Mono mewakili satu hasil tak segerak atau hasil kosong. Gunakan Mono.just() untuk nilai yang diketahui dan Mono.empty() apabila tiada nilai.

Mono<String> mono = Mono.just("Hello");
Mono<String> empty = Mono.empty();
mono.subscribe(value -> System.out.println(value));

Mencipta Flux

Flux memancarkan banyak item. Bina satu daripada nilai, boleh lelar, atau julat.

Flux<String> flux = Flux.just("a", "b", "c");
Flux<Integer> range = Flux.range(1, 5);
flux.subscribe(item -> System.out.println(item));

Tiada Apa-apa Berlaku Sehingga Melanggan

Penerbit bersifat malas. Saluran paip tidak melakukan apa-apa sehingga sesuatu melanggan.

Memanggil map() atau filter() hanya menerangkan kerja yang perlu dilakukan. Data hanya mengalir apabila subscribe() dipanggil.

Flux<Integer> flux = Flux.range(1, 3)
    .map(i -> i * 10);
// no output yet
flux.subscribe(System.out::println); // now it runs

Mengubah dengan map

map menggunakan fungsi segerak pada setiap item yang dipancarkan, lalu mengubahnya secara satu-ke-satu.

Flux<String> names = Flux.just("alice", "bob")
    .map(name -> name.toUpperCase());
names.subscribe(System.out::println);

Menapis Item

filter hanya mengekalkan item yang sepadan dengan predikat.

Flux<Integer> evens = Flux.range(1, 10)
    .filter(n -> n % 2 == 0);
evens.subscribe(System.out::println);

Mono daripada Supplier

Gunakan Mono.fromSupplier() untuk menangguhkan pelaksanaan fungsi yang menghasilkan nilai sehingga waktu langganan.

Mono<Long> now = Mono.fromSupplier(() -> System.currentTimeMillis());
now.subscribe(t -> System.out.println("Time: " + t));

Mengendalikan Ralat

Saluran paip reaktif memberi isyarat ralat sebagai peristiwa terminal. Gunakan onErrorReturn untuk membekalkan nilai sandaran.

Mono<Integer> result = Mono.just("abc")
    .map(Integer::parseInt)
    .onErrorReturn(-1);
result.subscribe(System.out::println); // -1

Panggilan Balik Langganan

Bentuk penuh subscribe menerima tiga panggilan balik: onNext, onError, dan onComplete.

Flux.just(1, 2, 3)
    .subscribe(
        item -> System.out.println("Next: " + item),
        error -> System.err.println("Error: " + error),
        () -> System.out.println("Done")
    );

Menyekat untuk Ujian

Dalam ujian atau kaedah main ringkas, anda boleh menukar jenis reaktif kepada jenis yang menyekat dengan block() atau blockFirst().

Elakkan block() dalam kod reaktif pengeluaran — tindakan itu menewaskan model tanpa sekatan.

String value = Mono.just("Hi").block();
Integer first = Flux.range(1, 5).blockFirst();

Semakan Pantas

Uji pemahaman anda tentang Mono dan Flux.

Imbas Kembali

Anda telah mempelajari asas pengaturcaraan reaktif dengan Project Reactor:

  • Mono memancarkan 0 atau 1 item; Flux memancarkan 0 hingga N
  • Penerbit bersifat malas — tiada apa-apa dijalankan sehingga subscribe()
  • map dan filter menerangkan perubahan
  • onErrorReturn menyediakan nilai sandaran
Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
24
Pelajaran
93

Soalan Lazim

Adakah pelajaran “Asas Mono dan Flux” percuma?

Ya — teks penuh “Asas Mono dan Flux” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Perkhidmatan Mikro dan API REST Spring Boot 4, tingkat taraf kepada CoddyKit PRO. Kursus Perkhidmatan Mikro dan API REST Spring Boot 4 merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Asas Mono dan Flux”?

Fahami penerbit reaktif. Anda berlatih Perkhidmatan Mikro dan API REST Spring Boot 4 menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Perkhidmatan Mikro dan API REST Spring Boot 4?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Asas Mono dan Flux” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 ini?

Ya. Setiap pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Asas Mono dan Flux
  2. Pengawal Reaktif
  3. WebClient untuk Panggilan Reaktif
  4. Tekanan Balik dan Operator
← Kembali ke Perkhidmatan Mikro dan API REST Spring Boot 4