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

  • 相关阅读:
    [PTA练习] 愿天下有情人都是失散多年的兄妹(25分)
    sql server远程连接非1433端口
    java把double转化为long型
    StringUtils工具类
    JfreeChart折线图
    Log4j配置
    Ibatis,Spring整合(注解方式注入)
    Spring中的autowire属性(转)
    MyBatis3入门样例
    struts2 ibatis Spring系统架构图
  • 原文地址:https://www.cnblogs.com/zhangchiblog/p/9000191.html
Copyright © 2020-2023  润新知