从这篇起,正式开始对spring源码的阅读和学习。根据书上的流程,先对spring核心容器模块中的Beans模块下手。对于beans包来说,有两个非常核心的类,第一个是DefaultListableBeanFactory,该类实现默认的对bean的注册和加载,这也是控制反转特性的最基本的功能,第二个类是XmlBeanDefinitionReader,该类提供了spring的IOC容器中对xml格式的配置文件的读取、解析和注册。先写个小Demo。
TestBeanFactory.java
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import springDemo.bean.TestBean;
@SuppressWarnings("deprecation")
public class TestBeanFactory {
public static void testDemo() {
BeanFactory bf = new XmlBeanFactory(new ClassPathResource("spring-Config.xml"));
TestBean tb = (TestBean) bf.getBean("testBean");
System.out.println(tb.getTestString());
}
public static void main(String[] args) {
testDemo();
System.exit(0);
}
}
TestBean.java