一、spring容器基本用法示例
创建study2_1.class文件
创建study2_1.xml文件,对创建的类进行配置
创建study.class对上面的文件进行测试
二、上述结果实现过程分析
1.通过configReader读取及验证配置文件,并将其放置到内存中
2.通过reflectionUtil获取配置文件中的配置并进行反射实例化
3.通过App完成整个逻辑串联获取实例化对象并获取到其内部的参数
三、spring核心类
spring源码中实现上述操作的是spring.bean模块代码
1.DefaultListableBeanFactory
xmlBeanFactory继承自DefaultListableFactory,DefaultListableFactory是spring注册及加载bean的默认实现,该类继承自AbstractAutowireCapableBeanFactory类并实现ConfigurableListableBeanFactory及BeanDefinitionRegistry接口
2.XmlBeanDefinitionReader
xml配置文件的读取是spring的重要功能,在XmlBeanDefinitionReader的文件读取顺序是
1.通过继承AbstractBeanDefinitionReader的方法,使用ResourLoader将资源文件路径转换为对应的Resource文件
2.通过documentLoader对Resource文件进行转换,将Resource文件转换为Document文件
3.通过实现接口BeanDefinitionDocumentReader的DefaultBeanDefinitionDocumentReader类对Document进行解析,并使用BeanDefinitionParserDelegate对Element进行解析