เหตุการณ์ที่กำหนดเองในฤดูใบไม้ผลิ
มีหลายขั้นตอนที่ต้องดำเนินการเพื่อเขียนและเผยแพร่เหตุการณ์ที่คุณกำหนดเอง ทำตามคำแนะนำที่ให้ไว้ในบทนี้เพื่อเขียนเผยแพร่และจัดการ 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