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中存在的配置错误。 

  • 相关阅读:
    服务器 container
    oracle误操作表数据--回退(闪回)被提交后的数据
    在线笔记类
    idea maven项目使用过程中遇到的问题
    程序员提升网站
    检索网站
    公开课
    语言学习
    超强/超全面计算网站
    临时邮箱申请
  • 原文地址:https://www.cnblogs.com/zhangchiblog/p/9000191.html
Copyright © 2011-2022 走看看