ApplicationContext context =new ClassPathXmlApplicationContext("beans-config.xml");
....
context.publishEvent(new ContextClosedEvent(context));
假设您在Bean定义档中有这么定义:<?xml version="1.0" encoding="UTF-8"?>则在文字模式下会显示以下的讯息:
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="listener"
class="org.springframework.context.event.ConsoleListener"/>
....
</beans>
... org.springframework.context.event.ContextClosedEvent [source=org.springframework.context.support.ClassPathXmlApplicationContext: display name [org.springframework.context.support.ClassPathXmlApplicationContext;hashCode=8795033]; startup date [Fri Oct 28 22:24:15 GMT+08:00 2005]; root of context hierarchy]
如果您打算实作自己的ApplicationEvent,则可以直接继承ApplicationEvent,例如:
package onlyfun.caterpillar;
import org.springframework.context.ApplicationEvent;
public class SomeEvent extends ApplicationEvent {
	public SomeEvent(Object obj) {
		super(obj);
	}
	....
}
在必要的时候就使用ApplicationContext的publishEvent()方法发布这个事件以通知实作ApplicationListener的类别之实例:
context.publishEvent(new SomeEvent("SomeEvent published"));