เหตุการณ์ที่กำหนดเองในฤดูใบไม้ผลิ

มีหลายขั้นตอนที่ต้องดำเนินการเพื่อเขียนและเผยแพร่เหตุการณ์ที่คุณกำหนดเอง ทำตามคำแนะนำที่ให้ไว้ในบทนี้เพื่อเขียนเผยแพร่และจัดการ Custom Spring Events

ขั้นตอน คำอธิบาย
1 สร้างโปรเจ็กต์ด้วยชื่อSpringExampleและสร้างแพ็คเกจcom.tutorialspointภายใต้ไฟล์srcโฟลเดอร์ในโครงการที่สร้างขึ้น ชั้นเรียนทั้งหมดจะถูกสร้างขึ้นภายใต้แพ็คเกจนี้
2 เพิ่มไลบรารี Spring ที่จำเป็นโดยใช้ตัวเลือกเพิ่ม JAR ภายนอกตามที่อธิบายไว้ในบทตัวอย่าง Spring Hello World
3 สร้างคลาสเหตุการณ์CustomEventโดยการขยายApplicationEvent. คลาสนี้ต้องกำหนดคอนสตรัคเตอร์เริ่มต้นซึ่งควรสืบทอดคอนสตรัคเตอร์จากคลาส ApplicationEvent
4 เมื่อระดับกิจกรรมของคุณจะถูกกำหนดคุณสามารถเผยแพร่ได้จากระดับใด ๆ ให้เราพูดEventClassPublisherซึ่งดำเนินApplicationEventPublisherAware คุณจะต้องประกาศคลาสนี้ในไฟล์คอนฟิกูเรชัน XML เป็น bean เพื่อให้คอนเทนเนอร์สามารถระบุ bean เป็นผู้เผยแพร่เหตุการณ์เนื่องจากใช้อินเทอร์เฟซ ApplicationEventPublisherAware
5 เหตุการณ์ที่เผยแพร่สามารถจัดการได้ในคลาสให้เราพูดว่าEventClassHandlerซึ่งใช้อินเทอร์เฟซApplicationListenerและใช้เมธอดonApplicationEventสำหรับเหตุการณ์ที่กำหนดเอง
6 สร้างไฟล์คอนฟิกูเรชันBeans.xmlภายใต้ไฟล์srcโฟลเดอร์และคลาสMainAppซึ่งจะทำงานเป็นแอปพลิเคชัน Spring
7 ขั้นตอนสุดท้ายคือการสร้างเนื้อหาของไฟล์ Java และไฟล์ Bean Configuration ทั้งหมดและเรียกใช้แอปพลิเคชันตามที่อธิบายด้านล่าง

นี่คือเนื้อหาของ CustomEvent.java ไฟล์

package com.tutorialspoint;

import org.springframework.context.ApplicationEvent;

public class CustomEvent extends ApplicationEvent{
   public CustomEvent(Object source) {
      super(source);
   }
   public String toString(){
      return "My Custom Event";
   }
}

ต่อไปนี้เป็นเนื้อหาของไฟล์ CustomEventPublisher.java ไฟล์

package com.tutorialspoint;

import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;

public class CustomEventPublisher implements ApplicationEventPublisherAware {
   private ApplicationEventPublisher publisher;
   
   public void setApplicationEventPublisher (ApplicationEventPublisher publisher) {
      this.publisher = publisher;
   }
   public void publish() {
      CustomEvent ce = new CustomEvent(this);
      publisher.publishEvent(ce);
   }
}

ต่อไปนี้เป็นเนื้อหาของไฟล์ CustomEventHandler.java ไฟล์

package com.tutorialspoint;

import org.springframework.context.ApplicationListener;

public class CustomEventHandler implements ApplicationListener<CustomEvent> {
   public void onApplicationEvent(CustomEvent event) {
      System.out.println(event.toString());
   }
}

ต่อไปนี้เป็นเนื้อหาของไฟล์ MainApp.java ไฟล์

package com.tutorialspoint;

import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainApp {
   public static void main(String[] args) {
      ConfigurableApplicationContext context = 
         new ClassPathXmlApplicationContext("Beans.xml");
	  
      CustomEventPublisher cvp = 
         (CustomEventPublisher) context.getBean("customEventPublisher");
      
      cvp.publish();  
      cvp.publish();
   }
}

ต่อไปนี้คือไฟล์กำหนดค่า Beans.xml

<?xml version = "1.0" encoding = "UTF-8"?>

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

   <bean id = "customEventHandler" class = "com.tutorialspoint.CustomEventHandler"/>
   <bean id = "customEventPublisher" class = "com.tutorialspoint.CustomEventPublisher"/>

</beans>

เมื่อคุณสร้างไฟล์การกำหนดค่าซอร์สและบีนเสร็จแล้วให้เราเรียกใช้แอปพลิเคชัน หากทุกอย่างเรียบร้อยดีกับแอปพลิเคชันของคุณแอปพลิเคชันของคุณจะพิมพ์ข้อความต่อไปนี้ -

y Custom Event
y Custom Event