Spring原理---prepareRefresh()方法

in Spring原理 with 0 comment

prepareRefresh()方法容器刷新前的准备,设置上下文状态,获取属性,验证必要的属性等,进入该方法

protected void prepareRefresh() {
		this.startupDate = System.currentTimeMillis();
		this.closed.set(false);
		this.active.set(true);

		if (logger.isInfoEnabled()) {
			logger.info("Refreshing " + this);
		}
		initPropertySources();
		getEnvironment().validateRequiredProperties();
		this.earlyApplicationEvents = new LinkedHashSet<ApplicationEvent>();
	}

这个方法很简单

  1. 设置startupDate时间
  2. 设置closed、active状态
  3. 初始化属性源(用于子类扩展)
  4. 验证必须的配置属性

所以这个方法我们只是负责将spring容器设置相应的状态,并且校验了xml