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

  • 相关阅读:
    『HTML5挑战经典』是英雄就下100层开源讲座(一)从天而降的英雄
    Android activity界面的讲解
    五年专业编程的14个经验
    MOQL操作数(Operand) (二)
    674 Coin Change
    static用法小结
    jdk环境变量配置
    612this指针及const应用
    第六周项目一:改错
    Vijos 1082 丛林探险
  • 原文地址:https://www.cnblogs.com/question-sky/p/6842544.html
Copyright © 2011-2022 走看看