SpringBoot中的ApplicationListener事件监听器使用详解
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事件监听器使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java的Struts框架中登陆功能的实现和表单处理器的使用
这篇文章主要介绍了Java的Struts框架中登陆功能的实现和表单处理器的使用,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下2015-12-12
SpringBoot使用GraphQL开发Web API实现方案示例讲解
这篇文章主要介绍了SpringBoot使用GraphQL开发Web API实现方案,GraphQL是一个从服务端检数据的查询语言。某种程度上,是REST、SOAP、或者gRPC的替代品2023-04-04
关于Redis键值出现\xac\xed\x00\x05t\x00&错误的解决方法
这篇文章主要介绍了关于Redis键值出现\xac\xed\x00\x05t\x00&的解决方法,出现该问题的原因是, redis template向redis存放使用java对象序列化的值,序列化方式和string的一般方式不同,需要的朋友可以参考下2023-08-08
浅谈spring-boot 允许接口跨域并实现拦截(CORS)
本篇文章主要介绍了浅谈spring-boot 允许接口跨域并实现拦截(CORS),具有一定的参考价值,有兴趣的可以了解一下2017-08-08


最新评论