spring自定义事件和事件监听器以及事件的发布-ApplicationEvent
2018-03-06 00:00
423 查看
进行spring自定义事件步骤:
1、继承ApplicationEvent自定义事件;
2、实现接口ApplicationListener定义事件监听器;
3、使用ApplicationContext来发布事件;
一、继承ApplicationEvent自定义事件
代码如下:
二、实现接口ApplicationListener定义事件监听器
代码如下:
三、使用ApplicationContext来发布事件
代码如下:
四、在main方法中new DemoPublisher进行发布(其中定义了EventConfig配置文件,用来自动扫描对应的包注入成bean对象)
main方法类代码如下:
配置类代码如下:
1、继承ApplicationEvent自定义事件;
2、实现接口ApplicationListener定义事件监听器;
3、使用ApplicationContext来发布事件;
一、继承ApplicationEvent自定义事件
代码如下:
/** * 自定义事件 * @author lyq */ public class DemoEvent extends ApplicationEvent { private String msg; public DemoEvent(Object source, String msg) { super(source); this.msg = msg; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
二、实现接口ApplicationListener定义事件监听器
代码如下:
/** * 定义事件监听器 * 实现ApplicationListener接口,指定监听的事件类型 * onApplicationEvent对消息进行接受处理 * @author lyq */ @Component public class DemoEventListener implements ApplicationListener<DemoEvent> { @Override public void onApplicationEvent(DemoEvent demoEvent) { String msg = demoEvent.getMsg(); System.out.println("事件监听器监听到事件消息DemoEvent,消息内容为: "+msg); } }
三、使用ApplicationContext来发布事件
代码如下:
/** * 事件发布类 * 使用ApplicationContext来发布事件 * @author lyq */ @Component public class DemoPublisher { @Autowired ApplicationContext applicationContext; public void publish(String msg) { applicationContext.publishEvent(new DemoEvent(this, msg)); } }
四、在main方法中new DemoPublisher进行发布(其中定义了EventConfig配置文件,用来自动扫描对应的包注入成bean对象)
main方法类代码如下:
/** * @author lyq */ public class Main { public static void main(String[] args) { AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(EventConfig.class); DemoPublisher demoPublisher = applicationContext.getBean(DemoPublisher.class); demoPublisher.publish("我来发布消息"); applicationContext.close(); } }
配置类代码如下:
/** * @author lyq */ @Configuration @ComponentScan("com.wisely.highlight_spring4.ch2.event") public class EventConfig { }
相关文章推荐
- spring自定义事件和事件监听器以及事件的发布-ApplicationEvent
- spring 的事件发布以及监听器
- springboot源码分析14-事件发布机制以及应用监听器
- springboot源码分析14-事件发布机制以及应用监听器
- 使用kafka作为springcloud bus的消息总线,以及如何自定义总线事件
- 对于spring 的自定义事件发布与监听
- 在Spring中发布自定义事件
- Spring boot data JPA 自定义JPQL语句,以及PagingAndSortingRepository接口实现分页查询
- Spring 初探(五)(Spring Bean 自动装配与自定义监听事件)
- 比较C#的委托与C语言的函数指针,以及用流程图来理解C#中事件,发布与订阅的逻辑
- Spring 关于bean的获取以及自定义注解的起始注入和获取
- SpringBoot | 第三十二章:事件的发布和监听
- 如何在自定义Listener(监听器)中使用Spring容器管理的bean
- 一起学spring--spring事件机制--监听器
- spring学习笔记(16)趣谈spring 事件机制[2]:多监听器流水线式顺序处理
- Spring的事件发布机制
- checkbox扩大点击范围以及一个监听器处理多个点击事件
- Dojo安全通讯以及订阅发布事件
- spring data mongodb学习以及为repository提供可扩展的自定义方法