spring原始碼解析之AnnotationConfigWebApplicationContext#loadBeanDefinitions()方法載入BeanDefinition過程

crayon-shin-chan發表於2020-10-13

1.簡介

 

AnnotationConfigWebApplicationContext是常用的上下文容器類,在spring boot沒有流行的時候,以前用tomcat在web.xml配置

spring容器時,如果使用Java註解的配置類,一般都會使用這個上下文類

顧名思義,AnnotationConfig代表註解配置,Web代表具有web功能,可以訪問ServletContext。這是這個上下文的基本功能。

 

之前在spring原始碼解析之AbstractApplicationContext#refresh()方法重新整理上下文過程一文中討論過spring容器的啟動過程

在refresh方法中,有一步為獲取最新的上下文工廠

    /** 告訴子類重新整理內部{@link BeanFactory}。獲取最新的bean工廠,讀取bean定義在這一步實現 */
    ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory();
    /**
	 * 告訴子類重新整理內部bean工廠。
	 * @return 新鮮的BeanFactory例項
	 * @see #refreshBeanFactory()* @參見#getBeanFactory()
	 */
	protected ConfigurableListableBeanFactory obtainFreshBeanFactory() {
		refreshBeanFactory();
		r

相關文章