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


    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.

  • 相关阅读:
    短信发送流程
    aidl
    tail
    RIL层传输的方式就是socket
    adb s <设备> <命令>
    Shell
    你好,色彩 android:background="@color/white" [create file color.xml at res/values/]
    [C#]在C#中使用NUnit进行单元测试
    [ASP.NEt] IE6布署NET网站时,Oracle 抛出异常
    [ASP.NET]如何Response.Redirect新的页面到指定的框架中(原创)
  • 原文地址:https://www.cnblogs.com/pepper7/p/7670782.html
Copyright © 2020-2023  润新知