Spring源码分析 待续

1.IOC接口设计

1.IOC接口设计以BeanFactory和ApplicationContext为核心,分两设计路线

1.1从BeanFactory到ConfigurableListableBeanFactory(Beans jar包)

1.2以ApplicationContext为核心接口,从BeanFactory到ApplicationContext,再到ConfigurableApplicationContext(Context jar包),并且为了可以在Web环境下使用,实现了WebApplicationContext。

2.BeanFactory是一种最基本的IOC容器,包含了IOC最基本的功能。

3.ApplicationContext通过继承MessageSource、ResourcePatternResolver、ApplicationEventPublisher、EnvironmentCapable接口,在BeanFactory简单的IOC容器基础上添加了许多高级容器的特性。也就是说基本上ApplicationContext除了包含IOC基本的功能外,还附加了更高级的功能,并且更好扩展性更强。应用中可以ApplicationContext使用为主。

4.如下图是IOC接口设计图
《Spring源码分析 待续》

2.BeanFactory

主要的BeanFactory有XmlBeanFactory(Spring建议弃用,可以使用DefaultListableBeanFactory编程实现)和DefaultListableBeanFactory(重要,后续ApplicationContext的内置BeanFactory对象是这个类)。

IOC容器实现的三个关键类:Resource、BeanFactory、BeanDefinitionReader。

IOC编程式实现大致步骤如下(即XmlBeanFactory的实现方式)

1. ClassPathResource res = newClassPathResource(“beans.xml”);

2.DefaultListableBeanFactory factory = new DefaultListableBeanFactory();

3.XmlBeanDefinitionReader reader = newXmlBeanDefinitionReader(fatory);

4.reader.loadBeanDefinitions(res);

 如下图是BeanFactory类图

《Spring源码分析 待续》

    原文作者:Spring Boot
    原文地址: https://blog.csdn.net/wen3058/article/details/46700709
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞