春のカスタムイベント
独自のカスタムイベントを作成して公開するには、いくつかの手順を実行する必要があります。この章に記載されている手順に従って、カスタムSpringイベントを作成、公開、および処理します。
ステップ | 説明 |
---|---|
1 | SpringExampleという名前のプロジェクトを作成し、の下にパッケージcom.tutorialspointを作成します。src作成したプロジェクトのフォルダ。すべてのクラスはこのパッケージの下に作成されます。 |
2 | Spring Hello Worldの例の章で説明されているように、[外部JARの追加]オプションを使用して必要なSpringライブラリを追加します。 |
3 | 拡張してイベントクラスCustomEventを作成しますApplicationEvent。このクラスは、ApplicationEventクラスからコンストラクターを継承するデフォルトのコンストラクターを定義する必要があります。 |
4 | イベントクラスを定義したら、任意のクラスから公開できます。たとえば、ApplicationEventPublisherAwareを実装するEventClassPublisherとしましょう。また、コンテナーがApplicationEventPublisherAwareインターフェースを実装しているため、コンテナーがBeanをイベントパブリッシャーとして識別できるように、XML構成ファイルでこのクラスをBeanとして宣言する必要があります。 |
5 | 公開されたイベントはクラスで処理できます。たとえば、ApplicationListenerインターフェイスを実装し、カスタムイベントのonApplicationEventメソッドを実装するEventClassHandlerとしましょう。 |
6 | 下にBean構成ファイルBeans.xmlを作成します。srcフォルダとSpringアプリケーションとして機能するMainAppクラス。 |
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の構成ファイルの作成が完了したら、アプリケーションを実行しましょう。アプリケーションに問題がない場合は、次のメッセージが出力されます-
y Custom Event
y Custom Event