Bitte verzeihen Sie den Punkt, dass es sich um eine schlechte Beschreibung handelt, da es sich um den ersten Beitrag handelt. : bow_tone1: Ich habe kürzlich das Wort "Spring WebFlux" gelernt, daher werde ich es im Tutorial ansprechen.
Spring WebFlux ist ein von Spring bereitgestelltes Webframework, das eine nicht blockierende Verarbeitung ausführt. Du kannst es schaffen. Grob gesagt habe ich verstanden, dass es sich um einen Mechanismus handelt, der eine effiziente Verarbeitung ermöglicht und gleichzeitig Threads speichert.
Ich möchte das Tutorial auf der folgenden Seite ausprobieren. Building a Reactive RESTful Web Service
Entwicklungsumgebung ・ Visual Studio-Code ・ AdoptOpenJDK 11.0.5 + 10
Klonen Sie den Quellcode lokal.
$ git clone https://github.com/spring-guides/gs-reactive-rest-service.git
Cloning into 'gs-reactive-rest-service'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 822 (delta 6), reused 14 (delta 5), pack-reused 801
Receiving objects: 100% (822/822), 408.59 KiB | 771.00 KiB/s, done.
Resolving deltas: 100% (553/553), done.
Öffnen Sie den entwickelten Ordner, da er mit vscode entwickelt wurde. Menü: Datei> Öffnen> geklonter Ordner gs-reactive-rest-service
Erstellen Sie eine neue GreetingHandler.java unter "initial / src / main / java / hello".
GreetingHandler.java
package hello;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import org.springframework.web.reactive.function.BodyInserters;
import org.springframework.web.reactive.function.server.ServerRequest;
import org.springframework.web.reactive.function.server.ServerResponse;
import reactor.core.publisher.Mono;
@Component
public class GreetingHandler {
public Mono<ServerResponse> hello(ServerRequest request) {
return ServerResponse.ok().contentType(MediaType.TEXT_PLAIN)
.body(BodyInserters.fromObject("Hello, Spring!"));
}
}
Erstellen Sie eine neue GreetingRouter.java unter "initial / src / main / java / hello".
GreetingRouter.java
package hello;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.web.reactive.function.server.RequestPredicates;
import org.springframework.web.reactive.function.server.RouterFunction;
import org.springframework.web.reactive.function.server.RouterFunctions;
import org.springframework.web.reactive.function.server.ServerResponse;
@Configuration
public class GreetingRouter {
@Bean
public RouterFunction<ServerResponse> route(GreetingHandler greetingHandler) {
return RouterFunctions
.route(RequestPredicates.GET("/hello").and(RequestPredicates.accept(MediaType.TEXT_PLAIN)), greetingHandler::hello);
}
}
Erstellen Sie eine neue GreetingWebClient.java unter "initial / src / main / java / hello".
GreetingWebClient
package hello;
import org.springframework.http.MediaType;
import org.springframework.web.reactive.function.client.ClientResponse;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Mono;
public class GreetingWebClient {
private WebClient client = WebClient.create("http://localhost:8080");
private Mono<ClientResponse> result = client.get()
.uri("/hello")
.accept(MediaType.TEXT_PLAIN)
.exchange();
public String getResult() {
return ">> result = " + result.flatMap(res -> res.bodyToMono(String.class)).block();
}
}
Erstellen Sie eine neue Application.java unter "initial / src / main / java / hello".
Application.java
package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
GreetingWebClient gwc = new GreetingWebClient();
System.out.println(gwc.getResult());
}
}
Klicken Sie mit der rechten Maustaste auf Application.java und wählen Sie Ausführen. Im Terminal wird die folgende Meldung angezeigt:
>> result = Hello, Spring WebFlux!
Wenn Sie http: // localhost: 8080 / hello in Ihrem Browser öffnen, wird dieselbe Meldung angezeigt.
Vielen Dank für das Lesen bis zum Ende. Ich bin daran interessiert, ähnlich wie ich zu programmieren, aber ich hoffe, es hilft Menschen, die keine Ahnung haben.
Recommended Posts