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