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

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

王林
王林nach vorne
2023-05-27 23:16:461989Durchsuche

1 Methode

  • ApplicationListenerf4b06c38ff2750052547656f66f34e34 Nicht empfohlen

  • ApplicationListener Empfohlen# 🎜 🎜#
  • CommandLineRunner Empfohlen
  • Methode 1: Spring's ApplicationListenerf7dc647d576e8500d8af3616d55e2e81Interface
  • #🎜 🎜#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) {//保证只执行一次
           //需要执行的方法
       }
   }
}

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("执行方法");
    }
}

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen