Spring知识点回顾(07)事件发布和监听 1.DemoEvent extends ApplicationEvent { public DemoEvent(Object source, String msg){ super(source); this.msg = msg; } } 2.DemoListener implements ApplicationEventListener<DemoEvent> { public void onApplicationEvent(DemoEvent ev…
前言: Spring的AppilcaitionContext能够发布事件和注册相对应的事件监听器,因此,它有一套完整的事件发布和监听机制. 流程分析: 在一个完整的事件体系中,除了事件和监听器以外,还应该有3个概念: 1. 事件源:事件的产生者,任何一个event都必须有一个事件源: 2. 事件广播器:它是事件和事件监听器之间的桥梁,负责把事件通知给事件监听器: 3. 事件监听器注册表:就是spring框架为所有的监听器提供了一个存放的地方: 通过流程图,可以看出它们是如何各司其职的,如下: 其…
点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. spring事件发布与监听的应用场景 当处理完一段代码逻辑,接下来需要同时执行多个任务,有什么好方法呢?如果在微服务项目中,当属MQ莫属了:但如果是单机,spring为我们也提供了[事件发布-监听]机制去处理这种逻辑,主要有@EventListener型和@TransactionalEventListener型两种方式 @EventListener型发布与监听 一般有[…
前言 日常开发中,我们经常会碰到这样的业务场景:用户注册,注册成功后需要发送邮箱.短信提示用户,通常我们都是这样写: /** * 用户注册 */ @GetMapping("/userRegister") public String userRegister(UserVo userVo) { //校验参数 //存库 //发送邮件 //发送短信 //API返回结果 return "操作成功!"; } 可以发现,用户注册与信息推送强耦合,用户注册其实到存库成功,就已经算是…
我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的JavaLib」第一时间阅读最新文章,回复[资料],即可获得我精心整理的技术资料,电子书籍,一线大厂面试资料和优秀简历模板. 目录 前言 ApplicationContext 事件机制 ApplicationListener 监听器 ApplicationEvent 事件 自定义事件和监听器 注解式监听器 前言 Spring 提供了 ApplicationContext 事件机制,可以发布和监听事件,这个特性非常有用. Spri…
目录 1. 什么是事件监听机制 2. JDK中对事件监听机制的支持 2.1 基于JDK实现对任务执行结果的监听 3.Spring容器对事件监听机制的支持 3.1 基于Spring实现对任务执行结果的监听 4.Spring事件监听源码解析 4.1 初始化事件发布器流程 4.2 注册事件监听器流程 4.3 容器事件发布流程 5.总结 1. 什么是事件监听机制 在讲解事件监听机制前,我们先回顾下设计模式中的观察者模式,因为事件监听机制可以说是在典型观察者模式基础上的进一步抽象和改进.我们可以在JDK或…
前言 今天去官网查看spring boot资料时,在特性中看见了系统的事件及监听章节.想想,spring的事件应该是在3.x版本就发布的功能了,并越来越完善,其为bean和bean之间的消息通信提供了支持.比如,我们可以在用户注册成功后,发送一份注册成功的邮件至用户邮箱或者发送短信.使用事件其实最大作用,应该还是为了业务解耦,毕竟用户注册成功后,注册服务的事情就做完了,只需要发布一个用户注册成功的事件,让其他监听了此事件的业务系统去做剩下的事件就好了.对于事件发布者而言,不需要关心谁监听了该事件…
Spring知识点回顾(08)spring aware BeanNameAware 获得容器中的bean名称 BeanFactoryAware 获得当前的bean factory ApplicationContextAware 获得当前的ApplicationContext MessageResourceAware 获得messageresource,可以获得文本消息 ApplicationEventPublisherAware 应用事件发布器,可以发布事件 ResourceLoaderAwar…
本篇博客我们就来聊一下Spring框架中的观察者模式的应用,即事件的发送与监听机制.之前我们已经剖析过观察者模式的具体实现,以及使用Swift3.0自定义过通知机制.所以本篇博客对于事件发送与监听的底层实现就不做过多赘述了.下方会给出Spring中是如何进行事件的发送与监听的.聊完事件的发送与监听,我们再来聊一下如何使用@Profile注解来切换"生产环境"与"开发环境". 一.Spring中的事件发送与监听 Spring中的事件发送与监听说白了就是广播.由Publ…
Spring知识点回顾(01) 一.Java Config 1.服务和服务注入 2.Java 注解 :功能更强一些 3.测试验证 二.注解注入 1.服务和服务注入 2.配置加载 3.测试验证 三.总结和建议 1.配置方式 声明Bean的注解 @Component @Service @Repository @Controller 注入Bean的注解 @Autowired @Inject @Resource bean的配置扫描 @Configuration 和  @Bean: 用@Configura…