Heim >Java >javaLernprogramm >Welche Ausführungsmethoden gibt es nach dem Start des Springboot-Projekts?
@Service public class SearchReceive implements ApplicationListener<ContextRefreshedEvent> { @Override public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { if (contextRefreshedEvent.getApplicationContext().getParent() == null) {//保证只执行一次 //需要执行的方法 } } }
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.
@Component @Order(value = 1) public class AfterRunner implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { System.out.println("执行方法"); } }
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("执行方法"); } }#🎜🎜 #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!