spring 监听器
spring 监听器:监听容器事件:package com.sharp.mvc.listener;import org.springframework.context.ApplicationEvent;import org.springframework.context.ApplicationListener;import org.springframework.context.e
·
spring 监听器:
监听容器事件:
package com.sharp.mvc.listener;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextClosedEvent;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.context.event.ContextStartedEvent;
import org.springframework.context.event.ContextStoppedEvent;
public class ContextStartListener implements ApplicationListener<ApplicationEvent>
{
@Override
public void onApplicationEvent(ApplicationEvent arg0)
{
if(arg0 instanceof ContextStartedEvent)
{
System.out.println("容器开始");
}else if(arg0 instanceof ContextRefreshedEvent)
{
System.out.println("容器刷新");
}else if(arg0 instanceof ContextStoppedEvent)
{
System.out.println("容器暂停");
}else if(arg0 instanceof ContextClosedEvent)
{
System.out.println("容器关闭");
}
}
}
监听自定义事件:
事件:
package com.sharp.cxf.listener;
import org.springframework.context.ApplicationContext;
import org.springframework.context.event.ApplicationContextEvent;
public class EmailEvent extends ApplicationContextEvent
{
private String to;
public EmailEvent(ApplicationContext source, String to)
{
super(source);
this.to = to;
}
public String getTo(){
return this.to;
}
}
事件监听器:
package com.sharp.cxf.listener;
import org.springframework.context.ApplicationListener;
public class EmailListener implements ApplicationListener<EmailEvent>
{
@Override
public void onApplicationEvent(EmailEvent event)
{
System.out.println("已成功发送一封邮件"+ event.getTo());
}
}
事件源:
package com.sharp.cxf.listener;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
public class EventSource implements ApplicationContextAware
{
private ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext context)
throws BeansException
{
System.out.println("设值中……");
this.context = context;
System.out.println(context);
}
public void sendMail(){
System.out.println("正在发送邮件");
System.out.println(context);
EmailEvent event = new EmailEvent(context, "发送给xiao peng");
context.publishEvent(event);
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)