码迷,mamicode.com
首页 > 编程语言 > 详细

Spring-IOC源码解读1-整体设计

时间:2017-10-15 17:35:34      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:loader   efi   pojo   default   javabean   基于   nbsp   关系   highlight   

1. SpringIOC提供了一个基本的javabean容器,通过IOC模式管理依赖关系,并通过依赖注入和AOP增强了为javabean这样的pojo对象赋予事务管理,生命周期管理等基本功能。
2. SpringIOC容器中注入方式有setter注入,构造器注入,接口注入,其中setter注入和构造器注入是主要注入方式
3. 两个主要的容器系列:一个是实现BeanFactory接口的简单容器系列,另一个是Application应用上下文系列。

技术分享

4. 在Spring提供的基本IOC容器的接口定义和实现的基础上,Spring通过定义BeanDefinition来管理基于Spring的应用中各种对象及他们之间的相互依赖关系。BeanDefinition抽象了我们对bean的定义,是让容器起作用的主要数据类型。对IOC容器来说,BeanDefinition就是依赖反转模式中管理的对象依赖关系的数据对象,也是容器实现依赖反转功能的核心数据结构,依赖反转功能都是围绕对这个Beandefinition的处理来完成的。

5. XmlBeanFactory的设计原理:XmlBeanFactory继承自DefaultListableBeanFactory(在Spring中实际是作为一个默认的功能完善的IOC容器来使用的,后面可以看到许多容器的实现都是扩展自此类)并增加了新的功能,使他可以读取以xml文件方式定义的BeanDefininition.

技术分享

6. XmlBeanFactory使用示例:

public void testXmlBeanFactory() {
        Resource res = new ClassPathResource("spring-beans.xml");
        BeanFactory fac = new XmlBeanFactory(res);
        Person p = fac.getBean("person", Person.class);
        System.out.println(p);
    }

7. ApplicationContext的设计原理: ApplicationContext是一个高级形态意义的IOC容器,他除了提供基本IOC容器的功能之外,还提供了许多附加服务,例如:

  •  支持不同的信息源:继承了MessageResource接口
  •  访问资源:继承了DefaultResourceLoader及其子类,故可以支持 ResourceLoader。
  •  支持应用事件:继承了ApplicationEventPublisher.

技术分享

Spring-IOC源码解读1-整体设计

标签:loader   efi   pojo   default   javabean   基于   nbsp   关系   highlight   

原文地址:http://www.cnblogs.com/pepper7/p/7670782.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!