คุณได้ลอง ApplicationReadyEvent แล้วหรือยัง
@Component
public class ApplicationStartup
implements ApplicationListener<ApplicationReadyEvent> {
/**
* This event is executed as late as conceivably possible to indicate that
* the application is ready to service requests.
*/
@Override
public void onApplicationEvent(final ApplicationReadyEvent event) {
// here your code ...
return;
}
}
รหัสจาก: http://blog.netgloo.com/2014/11/13/run-code-at-spring-boot-startup/
นี่คือเอกสารที่กล่าวถึงเกี่ยวกับเหตุการณ์เริ่มต้น:
...
แอปพลิเคชันจะถูกส่งไปตามลำดับต่อไปนี้ขณะที่แอปพลิเคชันของคุณทำงาน:
ApplicationStartedEvent ถูกส่งไปที่จุดเริ่มต้นของการรัน แต่ก่อนประมวลผลใด ๆ ยกเว้นการลงทะเบียนของ listeners และ initializers
ApplicationEnvironmentPreparedEvent จะถูกส่งเมื่อทราบถึงสภาพแวดล้อมที่จะใช้ในบริบท แต่ก่อนที่บริบทจะถูกสร้างขึ้น
ApplicationPreparedEvent ถูกส่งก่อนรีเฟรชเริ่ม แต่หลังจากโหลดคำจำกัดความของถั่วแล้ว
ApplicationReadyEvent จะถูกส่งหลังจากรีเฟรชและมีการประมวลผลการเรียกกลับที่เกี่ยวข้องใด ๆ เพื่อระบุว่าแอปพลิเคชันพร้อมที่จะให้บริการตามคำขอ
ApplicationFailedEvent จะถูกส่งหากมีข้อยกเว้นในการเริ่มต้น
...