Rumah  >  Artikel  >  Java  >  Apakah kaedah pelaksanaan selepas projek springboot dimulakan?

Apakah kaedah pelaksanaan selepas projek springboot dimulakan?

王林
王林ke hadapan
2023-05-27 23:16:461989semak imbas

1 Kaedah

  • ApplicationListenerf4b06c38ff2750052547656f66f34e34 Tidak disyorkan

  • ApplicationListener Disyorkan

Kaedah 1: antara muka ApplicationListener musim bungaf4b06c38ff2750052547656f66f34e34

melaksanakan antara muka ApplicationListener dan melaksanakan kaedah onApplicationEvent(ContextRefreshedEvent)🎜>konteks RefreshedEvent : antara muka ApplicationRunner springboot

ApplicationListener dan CommandLineRunner ialah dua antara muka yang disediakan oleh springBoot untuk melaksanakan kaedah tertentu selepas bekas spring dimuatkan. Perbezaan utama antara kedua-dua antara muka ialah parameter input.

Laksanakan antara muka ApplicationRunner

@Service
public class SearchReceive implements  ApplicationListener<ContextRefreshedEvent> {
   @Override
   public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
       if (contextRefreshedEvent.getApplicationContext().getParent() == null) {//保证只执行一次
           //需要执行的方法
       }
   }
}

Kaedah 3: antara muka CommandLineRunner springboot

Laksanakan antara muka CommandLineRunner

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

Nota: Jika anda melaksanakan kedua-dua antara muka ApplicationListener dan CommandL masa yang sama , kaedah antara muka ApplicationRunner dilaksanakan dahulu, dan kemudian CommandLineRunner

@Component
@Order(value = 2)
public class CommandLineRunnerImpl implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("执行方法");
    }
}

2 Nyatakan urutan pelaksanaan

Apabila kedua-dua antara muka ApplicationRunner dan CommondLineRunner dilaksanakan dalam projek, anda boleh menggunakan anotasi Pesanan atau melaksanakan antara muka Tertib Tentukan perintah pelaksanaan, semakin kecil nilainya, yang pertama dilaksanakan.

3 Prinsip

Kaedah jalankan SpringApplication akan melaksanakan kaedah afterRefresh.

Kaedah afterRefresh akan melaksanakan kaedah callRunners.

Kaedah callRunners akan memanggil semua kaedah yang melaksanakan antara muka ApplicationRunner dan CommondLineRunner.

Atas ialah kandungan terperinci Apakah kaedah pelaksanaan selepas projek springboot dimulakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Apakah lima keadaan benang JavaArtikel seterusnya:Apakah lima keadaan benang Java