1 Kaedah
Kaedah 1: antara muka ApplicationListener musim bunga< ContextRefreshedEvent>
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) {//保证只执行一次
//需要执行的方法
}
}
}
Salin selepas log masuk
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("执行方法");
}
}
Salin selepas log masuk
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("执行方法");
}
}
Salin selepas log masuk
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!