您的位置:首页 > 编程语言 > Java开发

Java Spring Tutorial -- Custom Events

2013-12-07 20:27 176 查看
文件结构:



package com.zxl.spring;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringApp08 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("SpringBeans.xml");
((ZAEventPublisher)context.getBean("zaEventPublisher")).publish();
context.close();
}

}

package com.zxl.spring;

import org.springframework.context.ApplicationEvent;

public class ZAEvent extends ApplicationEvent {
private static final long serialVersionUID = 1L;
public ZAEvent(Object source) {
super(source);
// TODO Auto-generated constructor stub
}

}

package com.zxl.spring;

import org.springframework.context.ApplicationListener;

public class ZAEventListener implements ApplicationListener<ZAEvent> {

@Override
public void onApplicationEvent(ZAEvent e) {
// TODO Auto-generated method stub
System.out.println("ZAEventListener.onApplicationEvent invoked: "+
"(ZAEvent received w/ source "+e.getSource().getClass().getSimpleName()+")");
}

}

package com.zxl.spring;

import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;

public class ZAEventPublisher implements ApplicationEventPublisherAware {
private ApplicationEventPublisher applicationEventPublisher;
@Override
public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
// TODO Auto-generated method stub
this.applicationEventPublisher=applicationEventPublisher;
}
public void publish(){
System.out.println("ZAEventPublisher.publish invoked ...");
applicationEventPublisher.publishEvent(new ZAEvent(this));
}

}

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="zaEventPublisher" class="com.zxl.spring.ZAEventPublisher"  />
<bean id="zaEventListener" class="com.zxl.spring.ZAEventListener"  />

</beans>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: