首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

《Spring技术黑幕》学习笔记1——IoC容器体系结构

2012-07-01 
《Spring技术内幕》学习笔记1——IoC容器体系结构3.Spring IoC容器的UML类图:?view plainpublic?class?XmlBean

《Spring技术内幕》学习笔记1——IoC容器体系结构

3.Spring IoC容器的UML类图:

《Spring技术黑幕》学习笔记1——IoC容器体系结构

?

view plain

  1. public?class?XmlBeanFactory?extends?DefaultListableBeanFactory?{??
  2. //读取XML形式的Bean定义,然后解析XML生成IoC管理的Bean??????
  3. private?final?XmlBeanDefinitionReader?reader?=?new?XmlBeanDefinitionReader(this);??
  4. ????//Resouce是Spring中用来封装IO操作的接口??
  5. ????public?XmlBeanFactory(Resource?resource)?throws?BeansException?{??
  6. ????????this(resource,?null);??
  7. ????}??
  8. //调用父类的构造方法,同时调用loadBeanDefinitions方法从指定XML文件加载Bean定义??
  9. ????public?XmlBeanFactory(Resource?resource,?BeanFactory?parentBeanFactory)?throws?BeansException?{??
  10. ????????super(parentBeanFactory);??
  11. ????????this.reader.loadBeanDefinitions(resource);??
  12. ????}??
  13. }???
?

?

view plain

  1. //创建IoC容器管理的Bean的xml配置文件,即定位资源??
  2. ClassPathResource?resource?=?new?ClassPathResource(“beans.xml”);??
  3. //创建BeanFactory??
  4. DefaultListableBeanFactory?factory?=?new?DefaultListableBeanFactory?();??
  5. //创键Bean定义读取器??
  6. XmlBeanDefinitionReader?reader?=?new?XmlBeanDefinitionReader(factory);??
  7. //使用Bean定义读取器读入Bean配置信息,即载入配置??
  8. reader.loadBeanDefinitions(resource);??
?

?

6.ApplicationContext:

view plain

  1. public?interface?ApplicationContext?extends?ListableBeanFactory,?HierarchicalBeanFactory,??
  2. ????????MessageSource,?ApplicationEventPublisher,?ResourcePatternResolver?{??
  3. ????//获取ApplicationContext的id??
  4. ????String?getId();??
  5. ????//获取ApplicationContext的displayName??
  6. ????String?getDisplayName();??
  7. ????//获取ApplicationContext第一次加载的时间戳??
  8. ????long?getStartupDate();??
  9. ????//获取ApplicationContext容器的父容器??
  10. ????ApplicationContext?getParent();??
  11. ????//获取自动装配功能的BeanFactory??
  12. ????AutowireCapableBeanFactory?getAutowireCapableBeanFactory()?throws?IllegalStateException;??
  13. }??
?

?

?

(2).ApplicationContext的特性:

ApplicationContext是Spring提供的一个高级的IoC容器,它除了能够提供IoC容器的基本功能外,还为用户提供了以下的附加服务:

a.支持不同的信息源:

ApplicationContext扩展了MessageSource接口,可以支持国际化的实现。

b.访问资源:

ApplicationContext继承了DefaultResourceLoader的子类,通过ResourceLoader和Resource的支持,ApplicationContext可以加载不同地方的Bean定义资源文件,尤其可以从不同IO途径获取Bean定义信息。可以使用户程序灵活地定义Bean定义信息。

c.支持应用事件:

ApplicationContext继承了ApplicationEventPublisher接口,在程序上下文中引入了事件机制,这些事件和Bean生命周期的结合为Bean的过来提供了便利。

?

?

?

以上的这些图先对Spring IoC容器的类体系结构做一个宏观的认识,由于平时比较忙,以后抽空再逐步补充IoC容器初始化和依赖注入相关的内容。

?

?

转载:

?

http://blog.csdn.net/chjttony/article/details/6248682

热点排行