zoukankan      html  css  js  c++  java
  • Spring源码情操陶冶-AbstractApplicationContext#initApplicationEventMulticaster

    承接前文Spring源码情操陶冶-AbstractApplicationContext#initMessageSource
    约定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

  • 相关阅读:
    L309 单音节词读音规则(一)-辅音字母发音规则
    L308 New brain cells made throughout life
    L306 词汇题
    L305 发邮件15分钟
    L304 What Is Death?
    2019.3.22 Week 11 : ZigBee power test and field test
    L302 如何避免秃头
    2019.3.22 Week 12 : ZigBee and T/H chamber test
    L300 3月英语课下
    Pycharm使用方法之调整代码字体大小
  • 原文地址:https://www.cnblogs.com/question-sky/p/6842544.html
Copyright © 2011-2022 走看看