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!