Heim > Java > javaLernprogramm > Welche Ausführungsmethoden gibt es nach dem Start des Springboot-Projekts?

Welche Ausführungsmethoden gibt es nach dem Start des Springboot-Projekts?

王林
Freigeben: 2023-05-27 23:16:46
nach vorne
2050 Leute haben es durchsucht

1 Methode

  • ApplicationListener< ContextRefreshedEvent> Nicht empfohlen

  • ApplicationListener Empfohlen# 🎜 🎜#
  • CommandLineRunner Empfohlen
  • Methode 1: Spring's ApplicationListenerInterface
  • #🎜 🎜#ApplicationListener-Schnittstelle implementieren , und implementieren Sie die Methode onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent)
@Service
public class SearchReceive implements  ApplicationListener<ContextRefreshedEvent> {
   @Override
   public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
       if (contextRefreshedEvent.getApplicationContext().getParent() == null) {//保证只执行一次
           //需要执行的方法
       }
   }
}
Nach dem Login kopieren

Methode 2: Springboots ApplicationRunner-Schnittstelle

ApplicationListener und CommandLineRunner sind zwei von SpringBoot bereitgestellte Schnittstellen, um das Laden im Spring-Container abzuschließen Dann Führen Sie die angegebene Methode aus. Der Hauptunterschied zwischen den beiden Schnittstellen sind die Eingabeparameter.

ApplicationRunner-Schnittstelle implementieren

@Component
@Order(value = 1)
public class AfterRunner implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("执行方法");
    }
}
Nach dem Login kopieren

Methode 3: CommandLineRunner-Schnittstelle von springboot

CommandLineRunner-Schnittstelle implementieren

@Component
@Order(value = 2)
public class CommandLineRunnerImpl implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("执行方法");
    }
}
Nach dem Login kopieren
#🎜🎜 #Hinweis: wenn At Gleichzeitig werden zwei Schnittstellen implementiert: ApplicationListener und CommandLineRunner. Zuerst werden die Methoden der ApplicationRunner-Schnittstelle ausgeführt, gefolgt von CommandLineRunner. Geben Sie die Ausführungsreihenfolge an.

Sowohl ApplicationRunner als auch CommondLineRunner sind im Projekt implementiert. Wenn Sie eine Schnittstelle verwenden, können Sie die Order-Anmerkung verwenden oder die Ordered-Schnittstelle implementieren, um die Ausführungsreihenfolge anzugeben. Je kleiner der Wert, desto früher wird er ausgeführt.

3 Prinzip

Die run-Methode von SpringApplication führt die afterRefresh-Methode aus.

Die Methode afterRefresh führt die Methode callRunners aus.

Die Methode callRunners ruft alle Methoden auf, die die Schnittstellen ApplicationRunner und CommondLineRunner implementieren.

Das obige ist der detaillierte Inhalt vonWelche Ausführungsmethoden gibt es nach dem Start des Springboot-Projekts?. 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