Heim > Java > javaLernprogramm > So implementieren Sie asynchrone Aufgaben in Springboot

So implementieren Sie asynchrone Aufgaben in Springboot

WBOY
Freigeben: 2023-05-14 15:07:06
nach vorne
1546 Leute haben es durchsucht

Spring Boot-Einführung

Spring Boot ist ein neues Framework, das vom Pivotal-Team bereitgestellt wird. Es soll den anfänglichen Konstruktions- und Entwicklungsprozess neuer Spring-Anwendungen vereinfachen. Das Framework verwendet einen Ad-hoc-Ansatz für die Konfiguration, sodass Entwickler keine Boilerplate-Konfigurationen definieren müssen. Um es mit meinen Worten zu verstehen: Spring Boot ist eigentlich kein neues Framework. Es konfiguriert standardmäßig die Verwendung vieler Frameworks, genau wie Maven alle Jar-Pakete integriert und Spring Boot alle Frameworks integriert.

Spring Boot-Funktionen

1) Erstellen Sie unabhängige Spring-Anwendungen;

2) Betten Sie Tomcat, Jetty oder Undertow direkt ein, ohne WAR-Dateien bereitzustellen; #🎜 🎜#

3) Stellen Sie empfohlene Basis-POM-Dateien (Starter) bereit, um die Apache Maven-Konfiguration zu vereinfachen;

4) Konfigurieren Sie das Spring-Framework so weit wie möglich automatisch entsprechend den Projektabhängigkeiten;

5) Bietet Funktionen, die direkt in einer Produktionsumgebung verwendet werden können, wie z. B. Leistungsindikatoren, Anwendungsinformationen und Anwendungszustandsprüfungen;

6) Sofort einsatzbereit, kein Code Generation, nein Es muss zu viel XML konfiguriert werden. Die Standardwerte können auch geändert werden, um spezifische Anforderungen zu erfüllen.

7) Eine Vielzahl weiterer Projekte basieren auf Spring Boot, wie beispielsweise Spring Cloud.

Asynchrone Aufgabe

Beispiel:

Schreiben Sie eine Hallo-Methode in den Dienst und verzögern Sie sie um drei Sekunden

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

Lassen Sie den Controller dieses Unternehmen

@RestController
public class AsyncController {
    @Autowired
    AsyncService asyncService;
    @GetMapping("/hello")
    public String hello(){
        asyncService.hello();
        return "ok";
    }
}
Nach dem Login kopieren

nennen, um das SpringBoot-Projekt zu starten. Wir werden feststellen, dass die Antwort drei Sekunden dauert.

Wir müssen also asynchrone Aufgaben verwenden, um dieses Problem zu lösen. Es ist sehr einfach, eine Anmerkung hinzuzufügen.

@Asynchrone Anmerkung zur Hallo-Methode

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

Aktivieren Sie die asynchrone Anmerkungsfunktion für die SpringBoot-Startklasse

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

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

}
Nach dem Login kopieren

Das Problem ist gelöst und der Server ist sofort bereit Reagieren Sie auf die Front-End-Daten!

Je mehr sich der Baum nach dem Licht in der Höhe sehnt, desto mehr wandern seine Wurzeln nach unten, in Richtung Erde und in die Tiefen der Dunkelheit.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie asynchrone Aufgaben in Springboot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage