Melaksanakan Kod Semasa Spring Boot Startup
Apabila membina aplikasi dengan Spring Boot, pembangun sering menghadapi keperluan untuk melaksanakan tugas tertentu sebaik sahaja aplikasi telah dimulakan sepenuhnya. Artikel ini menangani senario ini, khususnya menumpukan pada pemantauan direktori untuk perubahan selepas permulaan Boot Spring.
Penggunaan benang untuk tujuan ini bermasalah, kerana rangka kerja suntikan kebergantungan Spring (Autowiring) mungkin tidak memulakan perkhidmatan sepenuhnya diperlukan oleh tugas pemantauan. Sebaliknya, Spring Boot menyediakan pendekatan alternatif menggunakan peristiwa aplikasi.
Acara ApplicationPreparedEvent dihantar sebelum suntikan kebergantungan selesai, menjadikannya tidak sesuai untuk tujuan kami. Nasib baik, Spring Boot menawarkan acara yang lebih sesuai:
ApplicationReadyEvent
Acara ini tercetus sebaik sahaja aplikasi dimulakan sepenuhnya dan bersedia untuk memproses permintaan HTTP. Dengan melanggan acara ini, kami boleh memastikan bahawa kod untuk memantau direktori yang ditentukan hanya dilaksanakan apabila aplikasi beroperasi.
Coretan kod berikut menunjukkan cara menggunakan ApplicationReadyEvent:
<code class="java">@EventListener(ApplicationReadyEvent.class) public void doSomethingAfterStartup() { System.out.println("hello world, I have just started up"); }</code>
Kaedah ini akan dilaksanakan selepas aplikasi Spring Boot telah dimulakan dan bersedia untuk mengendalikan permintaan. Fleksibiliti ApplicationReadyEvent membolehkan pelaksanaan sebarang kod yang dikehendaki selepas aplikasi dimulakan.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kod Selepas Permulaan But Spring dan Memantau Direktori untuk Perubahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!