多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

wkspring教程

Spring 中的自定義事件

閱讀 (2308)

Spring 中的自定義事件

編寫和發布自己的自定義事件有許多步驟。按照在這一章給出的說明來編寫,發布和處理自定義 Spring 事件。

步驟描述
1創建一個名稱為 SpringExample 的項目,并且在創建項目的 src 文件夾中創建一個包 com.tutorialspoint。
2使用 Add External JARs 選項,添加所需的 Spring 庫,解釋見 Spring Hello World Example 章節。
3通過擴展 ApplicationEvent,創建一個事件類 CustomEvent。這個類必須定義一個默認的構造函數,它應該從 ApplicationEvent 類中繼承的構造函數。
4一旦定義事件類,你可以從任何類中發布它,假定 EventClassPublisher 實現了 ApplicationEventPublisherAware。你還需要在 XML 配置文件中聲明這個類作為一個 bean,之所以容器可以識別 bean 作為事件發布者,是因為它實現了 ApplicationEventPublisherAware 接口。
5發布的事件可以在一個類中被處理,假定 EventClassHandler 實現了 ApplicationListener 接口,而且實現了自定義事件的 onApplicationEvent 方法。
6src 文件夾中創建 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<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>

一旦你完成了創建源和 bean 的配置文件后,我們就可以運行該應用程序。如果你的應用程序一切都正常,將輸出以下信息:

My Custom Event
My Custom Event
關閉
程序員人生
主站蜘蛛池模板: 久久亚洲美女久久久久 | 国产成人永久免费视频 | 亚洲小说图片 | 亚洲视频一区二区在线观看 | 亚洲国产精品一区二区三区在线观看 | 日韩欧美国产精品 | 国产理论视频在线观看 | 免费国产阿v视频在线观看 免费国产成高清人在线视频 | 午夜免费体验 | xxxxx大片在线观看 | 午夜影院免费体验 | 亚洲小说春色综合另类网蜜桃 | 久久一本精品久久精品66 | 伊人久久大香线蕉75 | 在线观看噜噜噜私人影院 | 国产福利亚洲 | h网站国产 | 男人激烈吃奶好舒服 | 在线免费亚洲 | 日本一级淫片aaaaaa | 动漫美女羞羞网站 | 在线观看欧美精品 | 99伊人| 性色在线视频精品 | 黄大色黄美女精品大毛片 | 日本不卡视频一区二区 | 中文字幕在线看视频一区二区三区 | 日本护士xxxx黑人巨大 | 男女一区二区三区免费 | 在线视频黄 | 日韩欧美自拍 | 国产专区自拍 | 成人做视频免费 | 成人免费性视频 | 精品国产欧美另类一区 | 国产美女亚洲精品久久久毛片 | 永久手机看片福利盒子 | 午夜福免费福利在线观看 | 国产精品免费久久久久影院 | www.久久精品 | 亚洲国产精品ⅴa在线观看 亚洲国产精品aaa一区 |