Spring ioc ClassPathXmlApplicationContext类介绍

类名 实现接口 说明
DefaultResourceLoader ResourceLoader 资源加载器, 根据路径获取Resource对象
AbstractApplicationContext ConfigurableApplicationContext 发布事件, 获取上下文环境, 存放应用监听器等, 操作核心类
AbstractRefreshableApplicationContext BeanNameAware, InitializingBean 配置路径存放,设置id
AbstractRefreshableConfigApplicationContext 抽象类 创建、获取 DefaultListableBeanFactory对象
AbstractXmlApplicationContext 抽象类 校验xml,创建XmlBeanDefinitionReader对象
ClassPathXmlApplicationContext 实现类 具体实现类
DefaultResourceLoader 实现类 (资源加载器的实现类)
//根据路径得到Resource资源对象
Resource getResource(String location);
//设置与获取ClassLoader 类加载器
ClassLoader getClassLoader();
setClassLoader(ClassLoader classLoader);
AbstractApplicationContext 抽象类 (应用核心类, 逻辑处理)
//配置环境
void setEnvironment(ConfigurableEnvironment environment);
//获取配置环境
ConfigurableEnvironment getEnvironment();
//添加BeanFactory处理器
void addBeanFactoryPostProcessor(BeanFactoryPostProcessor postProcessor);
//设置应用监听器
void addApplicationListener(ApplicationListener<?> listener);
//ioc核心方法 创建容器, 注册bean. 
void refresh();
//获取BeanFactory容器
abstract ConfigurableListableBeanFactory getBeanFactory()
AbstractRefreshableApplicationContext 抽象类 (用于刷新应用上下文)
//刷新BeanFactory
abstract void refreshBeanFactory();
//创建BeanFactory
DefaultListableBeanFactory createBeanFactory();
//获取BeanFactory
ConfigurableListableBeanFactory getBeanFactory();
//设置允许循环引用(默认true)
void setAllowCircularReferences(boolean);
//设置允许Bean定义覆盖
void setAllowBeanDefinitionOverriding(boolean);
待续…

猜你喜欢

转载自blog.csdn.net/baidu_36327010/article/details/87951644