Spring源码解析——核心类介绍
前言:
Spring用了这么久,虽然Spring的两大核心:IOC和AOP一直在用,但是始终没有搞懂Spring内部是怎么去实现的,于是决定撸一把Spring源码,前前后后也看了有两边,很多东西看了就忘记,于是便决定开个记录
转博,帮助自己记忆,同时也分享给大家。
Spring中核心类的介绍:
首先我们看一下一般我们通过如下代码从spring容器中获取实例:
File file = new File("fileSystemConfig.xml"); Resource resource = new FileSystemResource(file); BeanFactory beanFactory = new XmlBeanFactory(resource); Car car = beanFactory.getBean("car1",Car.class);
对于这段代码,相信很容易理解,就是从Spring容器中获取指定类的实例,但是Spring内部又是怎么去实现的呢?
这里首先介绍一下Spring中最核心的两个类:DefaultListableBeanFactory 和 XmlBeandefinitionReader
DefaultListableBeanFactory :
XmlBeanFactory继承了DefaultListableBeanFactory,并且使用的自定义的XML读取器XmlBeanDefinationReader,我们先看一下DefaultListableBeanFactory的类图: