博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring源码情操陶冶-AbstractApplicationContext#initApplicationEventMulticaster
阅读量:4516 次
发布时间:2019-06-08

本文共 1692 字,大约阅读时间需要 5 分钟。

承接前文

约定web.xml配置的contextClass为默认值XmlWebApplicationContext

瞧瞧官方注释

/**     * Initialize the ApplicationEventMulticaster.     * Uses SimpleApplicationEventMulticaster if none defined in the context.     * @see org.springframework.context.event.SimpleApplicationEventMulticaster     */

初始化ApplicationEventMulticaster事件,默认使用SimpleApplicationEventMulticaster事件

直接源码

protected void initApplicationEventMulticaster() {        ConfigurableListableBeanFactory beanFactory = getBeanFactory();        //查找是否存在id为applicationEventMulticaster的bean对象        if (beanFactory.containsLocalBean(APPLICATION_EVENT_MULTICASTER_BEAN_NAME)) {            this.applicationEventMulticaster =                    beanFactory.getBean(APPLICATION_EVENT_MULTICASTER_BEAN_NAME, ApplicationEventMulticaster.class);            if (logger.isDebugEnabled()) {                logger.debug("Using ApplicationEventMulticaster [" + this.applicationEventMulticaster + "]");            }        }        else {            //默认使用SimpleApplicationEventMulticaster,并注册为单例            this.applicationEventMulticaster = new SimpleApplicationEventMulticaster(beanFactory);            beanFactory.registerSingleton(APPLICATION_EVENT_MULTICASTER_BEAN_NAME, this.applicationEventMulticaster);            if (logger.isDebugEnabled()) {                logger.debug("Unable to locate ApplicationEventMulticaster with name '" +                        APPLICATION_EVENT_MULTICASTER_BEAN_NAME +                        "': using default [" + this.applicationEventMulticaster + "]");            }        }    }

小结

此节内容跟前文initMessageSource类似

下节预告

Spring源码情操陶冶-AbstractApplicationContext#onRefresh

转载于:https://www.cnblogs.com/question-sky/p/6842544.html

你可能感兴趣的文章
leetcode 388.Lonest Absolute File Path
查看>>
瀑布流
查看>>
ECS
查看>>
如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化展示
查看>>
如何高效利用github提升自己
查看>>
BZOJ1590 [Usaco2008 Dec]Secret Message 秘密信息
查看>>
无缝轮播
查看>>
关于图片上传的实例
查看>>
JS HTML DOM 事件对象(onclick、onmouseenter)
查看>>
sqlserver复制表
查看>>
wsdl.exe的用法与参数说明
查看>>
第一次作业:深入源码分析进程模型
查看>>
彻底理解ThreadLocal
查看>>
[Intermediate Algorithm] - Spinal Tap Case
查看>>
场景设计方法
查看>>
python2x与python3x的区别
查看>>
SQL SERVER 自定义函数
查看>>
洛谷P1031 均分纸牌
查看>>
高性能NIO通信框架之Netty入门(二)-----TCP粘包/拆包
查看>>
FreeMarker初探--安装FreeMarker
查看>>