IOC容器注入Spring bean——XML篇
2015-10-08 19:48
766 查看
IOC容器获取Spring bean
分解成三个步骤,相互之间解耦1. 资源定位
2. Bean Definition载入
3. Bean Definition注入
以XML配置文件的方式为例,记录整个过程
资源定位篇
输入:XML配置文件输出:
Resource(org.springframework.core.io)
暂不深究Resource的细节,至少应包含了资源类型、配置文件类容。
Bean Definition载入篇
输入:Resource
输出:
BeanDefinitionHolder(org.springframework.beans.factory.config)
BeanDefinitionHolder中持有Bean Definition解析后的对象
BeanDefinition、Bean的名称、以alias。
BeanDeftinition部分参数说明可见:/article/10015219.html
数据转化流程:
Resource(InputStream) ->
Document->
BeanDefinition
Bean Definition注册篇
输入:BeanDefinitionHolder
输出:
beanDefinitionMap(org.springframework.beans.factory.support.DefaultListableBeanFactory)
注册解析出来的Bean,将内容记录在beanDefinitionMap中。
至此XML文件中定义的Bean就已经注入到IOC容器中。
附:细节部分后续详细总结,BeanDefinition载入过程有点意思。
参考:
1. 《Spring 技术内幕》 by 计文柯
2. Spring 4.0 源码
相关文章推荐
- java学习:用反射构造bean
- 重温java代理模式
- 大龄屌丝自学笔记--Java零基础到菜鸟--029
- 更新SDK后eclipse报错This Android SDK requires Android Developer Toolkit version 23.0.0 or above
- MyEclipse报错Bad version number in .class file
- Java基础知识强化之IO流笔记30:字节流4种方式复制mp4并测试效率
- Spring MVC 全注解的方式实现单个和多个文件上传
- Spring MVC 全注解的方式实现单个和多个文件上传
- Eclipse JEE & ADE & Git & SVN & AXIS2/ Wtp
- Idea 编译报错 javacTask: 源发行版 1.6 需要目标发行版 1.6
- struts2中的标签什么时候用#,上面时候用%{},上面时候用%{#}小结
- Java基础知识强化之IO流笔记27:FileInputStream读取数据一次一个字节数组byte[ ]
- Java泛型总结
- javaEE学习笔记【01】集成环境开发应用、JDK新特性
- eclipse与AVD模拟器断开问题
- Java-WebSocket
- Java____实现定时任务的三种方法
- java多线程基础
- spring 通过编程来获取属性文件
- eclipse svn操作