zoukankan      html  css  js  c++  java
  • BeanFactory和applicationContext之间的区别

    spring的BeanFactory和ContextApplication之间的区别

    spring容器有两种:BeanFactory和ContextApplication。BeanFactory是一种比较原始的容器,ContextApplication是比较先进的容器

    上图是BeanFactory的脑图

     xmlBeanFactory是BeanFactory的一种常见实现,实现了Bean工厂的常用方法

    ApplicationContext继承了BeanFactory,所以Application具有BeanFactory的所有功能,

    继承路径为ApplicationContext->ListableBeanFactory->BeanFactory

    同时ApplicationContext还具有以下特点:

    1. 利用MessageSource进行国际化数据的加载

    ApplicationContext实现了MessageSource接口,MessageSource接口可以根据Locale加载相应的国际化资源

    2、强大的事件机制

    ApplicationContext的事件机制通过ApplicationEvent和ApplicationListener这两个接口实现,ApplicationContext发布一个Event,所有扩展了ApplicationContext的bean,都会监听到数据,并且做出相应的反应。

    3.底层资源的访问

    最重要的区别:

    BeanFactroy采用的是延迟加载形式来注入Bean的,即只有在使用到某个Bean时(调用getBean()),才对该Bean进行加载实例化,这样,我们就不能发现一些存在的spring的配置问题。而ApplicationContext则相反,它是在容器启动时,一次性创建了所有的Bean。这样,在容器启动时,我们就可以发现Spring中存在的配置错误。 

  • 相关阅读:
    C++官方文档-静态成员
    C++官方文档-this
    C++官方文档-运算符重载
    springboot-dokcer
    HDU 1073
    HDU 1070
    UVa 213
    HDU 1150
    POJ 1274
    POJ 2594
  • 原文地址:https://www.cnblogs.com/zhangchiblog/p/9000191.html
Copyright © 2011-2022 走看看