SpringBoot中的ApplicationListener事件监听器使用详解
作者:阿孟呀
这篇文章主要介绍了SpringBoot中的ApplicationListener事件监听器使用详解,ApplicationListener是应用程序的事件监听器,继承自java.util.EventListener标准接口,采用观察者设计模式,需要的朋友可以参考下
ApplicationListener
ApplicationListener是应用程序的事件监听器,继承自java.util.EventListener标准接口,采用观察者设计模式。
从spring3.0开始,ApplicationListener可以指定要监听的事件类型,当spring的上下文环境ApplicationContext时,当指定事件发布的时候,对应事件的事件监听器将被调用。
使用ApplicationListener需要三元素,事件,监听,事件发布。
ApplicationListener应用
1.新建事件
继承自ApplicationEvent .
public class TestApplicationEvent extends ApplicationEvent { /** * Create a new ApplicationEvent. * * @param test the object on which the event initially occurred (never {@code null}) */ public TestApplicationEvent(TestApplication test) { super(test); } }
2.新建监听器
实现ApplicationListener指定要监听的事件类型,监听器必须注入容器当中可以使用注解方式(例如:@Component),或者在资源路径下新建META-INF/spring.factories文件导入
@Component public class TestApplicationListener implements ApplicationListener<TestApplicationEvent> { @Override public void onApplicationEvent(TestApplicationEvent event) { System.out.println(event.getSource()); } }
3.事件发布
当spring应用上下文环境初始化完毕,进行事件的发布
@SpringBootApplication public class CommonsTestApplication { public static void main(String[] args) { ConfigurableApplicationContext applicationContext = SpringApplication .run(CommonsTestApplication.class, args); TestApplication testApplication = new TestApplication(); testApplication.setName("zhangsan"); testApplication.setAge(23); TestApplicationEvent testApplicationEvent = new TestApplicationEvent(testApplication); applicationContext.publishEvent(testApplicationEvent);//事件发布时,指定的监听器就进行接收 } }
4.启动程序
当容器初始化完毕后,发布事件,事件监听器进行接收。
到此这篇关于SpringBoot中的ApplicationListener事件监听器使用详解的文章就介绍到这了,更多相关ApplicationListener事件监听器使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!