Spring容器,最基本的接口就是BeanFactory 负责创建,配置,管理bean 它有一个子接口ApplicationContext并将功能扩展。 理论上bean装配可以从任何资源获得,包括属性文件,关系数据库等,但xml是最常用的XmlBeanFactory,ClassPathXmlApp....
分类:
其他好文 时间:
2016-01-22 22:10:03
阅读次数:
204
1.xmlBeanFactory构造 /** * Create a new XmlBeanFactory with the given input stream, * which must be parsable using DOM. * @param resource...
分类:
其他好文 时间:
2015-12-17 00:25:02
阅读次数:
284
registry:XmlBeanFactory实现了BeanDefinitionRegistry注册的最终操作:this.beanDefinitionNames.add(beanName);清除解析之前留下的beanName缓存:this.manualSingletonNames.remove(beanName);this.frozenBeanDefinitionNames=null;this.beanDefinitionMap.put(beanName,beanD..
分类:
编程语言 时间:
2015-10-12 12:50:18
阅读次数:
183
BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。? ? ApplicationContext接口,它由BeanFactory接口派...
分类:
移动开发 时间:
2015-09-16 12:59:50
阅读次数:
205
大家都知道Java读普通文件是通过Basic I/O 中的InputStream、OutStream、Reader、Writer 等实现的。在spring 框架中,它是怎样识别xml这个配置文件的呢?
这就要靠IoC容器的两个接口BeanFactory
和ApplicationContext:
BeanFactory (接口)
|--------XmlBeanFactory(实现类)
...
分类:
移动开发 时间:
2015-08-30 00:59:30
阅读次数:
176
首先,先看我自己画的BeanFactory启动时的时序图。
第一次接触时序图,可能有些地方画的不是很符合时序图的规则,大家只关注调用顺序即可。
public static void main(String[] args){
BeanFactory factory=new XmlBeanFactory(new ClassPathResource("applicationC...
分类:
编程语言 时间:
2015-08-25 23:55:11
阅读次数:
317
Spring类的继承结构图:
Spring运用了大量的模板方法模式和策略模式,所以各位看源码的时候,务必留意,每一个继承的层次都有不同的作用,然后将相同的地方抽取出来,依赖抽象将不同的处理按照不同的策略去处理。
步骤A. 读取 Resource 文件形成 Document 模型
类图: XmlBeanFactory -> XmlBeanDefinitionReader ...
分类:
编程语言 时间:
2015-08-19 20:40:36
阅读次数:
166
一:Spring中的几种容器都支持使用xml装配bean,包括:XmlBeanFactory ,ClassPathXmlApplicationContext ,FileSystemXmlApplicationContext ,XmlWebApplicationContext加载这些容器的配置文件的x...
分类:
编程语言 时间:
2015-07-11 10:36:46
阅读次数:
131
BeanFactory
BeanFactory是Spring的org.springframework.beans.factory下的一个接口,是Spring IOC所遵守的基本编程规范,他的实现类有DefaultListableBeanFactory、XmlBeanFactory、ApplicationContext等,都各自实现自己的功能。
FactoryBean
通常Spring通过反射机...
分类:
编程语言 时间:
2015-07-07 16:51:09
阅读次数:
127
接上一篇的时序图。这里调用的loadBeanDefintions实际上是一个抽象方法,那么实际载入过程发生在哪里呢?在loadBeanDefintions中,初始化了读取器XMLBeanDefinitionReader,然后把这个读取器在IOC容器中设置好(过程和编程式使用XMLBeanFactory是类似的),最后是启动读取器来完成BeanDefinition在IOC容器中的载入,代码如下:/**...
分类:
编程语言 时间:
2015-06-18 09:52:44
阅读次数:
193