深探spring系列-----ioc初始化(1)BeanDefinition的Resource定位
来源:互联网 发布:mac怎么复制粘贴 编辑:程序博客网 时间:2024/05/29 01:55
1.前言
ioc就不说了 大家都知道。不知道的童鞋可以出门右转百度,google,简书总有一款适合你!
说说BeanDefinition 这个是ioc非常重要一个组件,实际就是pojo对象在ioc中的抽象,通过这个BeanDefinition定义的数据结构,使ioc容器能够方便的对pojo对象也 就是javabean执行管理.
大体意思是说BeanDefinition是java实体类在spring里面的抽象.而BeanDefinition 的定位就是通过某种方式找到外部的资源 这个资源指的是类路径下,io下或者 url.
2.xmlBeanFactory和FileSystemXmlApplicationContext
xmlBeanFactory是如何寻找Resource的呢?
在xmlBeanFactory中有一个XmlBeanDefinitionReader他有一个loadBeanDefinitions方法通过这样就寻找Resource了
而相对于beanfactory更高级的ApplicationContext 是如何寻找Resource呢
FileSystemXmlApplicationContext 相信大家都经常用用这个作为eg:
首先FileSystemXmlApplicationContext的继承关系中他的根类AbstractApplicationContext继承的DefaultResourceLoader
找到了我们根据路径获取Resource的方法也就是定义BeanDefinition在哪。
首先我们定义初始化FileSystemXmlApplicationContext时会有一个refresh的过程 ,这个过程就是ioc初始化的步骤
在这里我们
通过这个方法找
这个方法相信大家都很熟悉 这个就是XmlBeanDefinitionReader里的方法
loadBeanDefinitions方法是一个模板模式基类里面规定好了规则 由继承的子类实现即可
传送门模板模式传送门 http://www.cnblogs.com/zuoxiaolong/p/pattern10.html
3.获得Resource
- 深探spring系列-----ioc初始化(1)BeanDefinition的Resource定位
- 【Spring源码--IOC容器的实现】(二)BeanDefinition的Resource定位
- Spring技术内幕之IOC容器的实现(02)-BeanDefinition的Resource定位
- spring 技术内幕--IOC初始化过程深入之BeanDefinition的定位
- SpringIoC初始化BeanDefinition解析——Resource的定位
- Spring源码阅读之IoC容器初始化1 -- Resource定位
- spring技术内幕笔记:IoC容器初始化过程(1)- Resource定位
- spring技术内幕笔记:IoC容器的初始化过程(3)- BeanDefinition的注册
- spring 技术内幕--IOC初始化过程深入之BeanDefinition的载入和解析1
- spring技术内幕笔记:IoC容器初始化过程(2)- BeanDefinition的载入
- 【初探Spring】——Spring IOC(三):初始化过程—Resource定位
- spring 技术内幕--IOC初始化之BeanDefinition的在IOC容器中的注册
- 【Spring Framework 深入】—— IoC容器初始化 -> Bean定义资源的Resource定位
- 【Spring Framework 深入】—— IoC容器初始化 -> BeanDefinition的注册
- spring IoC源码分析 (2)Resource定位
- Spring源码阅读之IoC容器初始化3 -- BeanDefinition在IoC容器中的注册
- 【Spring源码--IOC容器的实现】(三)BeanDefinition的载入和解析【I】
- 【Spring源码--IOC容器的实现】(三)BeanDefinition的载入和解析【II】
- jQuery中的on与bind绑定事件区别实例详解
- 管辖城市权限控制
- Selenium+PhantomJS自动化测试应用
- 简单的差分之——封印一击
- jmeter之以openfire为例介绍xmpp协议测试
- 深探spring系列-----ioc初始化(1)BeanDefinition的Resource定位
- 项目开发-错误集合
- 博雅笔试记录:输入最小的数
- 句子反转
- Android常用开源项目(三十九)
- python之元组
- 上班第三天遇到的问题
- 关于nginx的Job for nginx.service failed because the control process exited with error code.错误
- 《javascript从入门到精通》第一篇,基础知识