javascript
java 自定义监听_Spring 中的自定义事件
Spring 中的自定義事件
編寫和發布自己的自定義事件有許多步驟。按照在這一章給出的說明來編寫,發布和處理自定義 Spring 事件。
步驟
描述
1
創建一個名稱為SpringExample的項目,并且在創建項目的src文件夾中創建一個包com.tutorialspoint。
2
使用AddExternalJARs選項,添加所需的Spring庫,解釋見SpringHelloWorldExample章節。
3
通過擴展ApplicationEvent,創建一個事件類CustomEvent。這個類必須定義一個默認的構造函數,它應該從ApplicationEvent類中繼承的構造函數。
4
一旦定義事件類,你可以從任何類中發布它,假定EventClassPublisher實現了ApplicationEventPublisherAware。你還需要在XML配置文件中聲明這個類作為一個bean,之所以容器可以識別bean作為事件發布者,是因為它實現了ApplicationEventPublisherAware接口。
5
發布的事件可以在一個類中被處理,假定EventClassHandler實現了ApplicationListener接口,而且實現了自定義事件的onApplicationEvent方法。
6
在src文件夾中創建bean的配置文件Beans.xml和MainApp類,它可以作為一個Spring應用程序來運行。
7
最后一步是創建的所有Java文件和Bean配置文件的內容,并運行應用程序,解釋如下所示。
這個是 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{
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:
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">
class="com.tutorialspoint.CustomEventHandler"/>
class="com.tutorialspoint.CustomEventPublisher"/>
一旦你完成了創建源和 bean 的配置文件后,我們就可以運行該應用程序。如果你的應用程序一切都正常,將輸出以下信息:
My Custom Event
My Custom Event
總結
以上是生活随笔為你收集整理的java 自定义监听_Spring 中的自定义事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java web文件夹_JAVA WEB
- 下一篇: 动态给div追加html代码,javas