zoukankan      html  css  js  c++  java
  • Spring 中 ApplicationContext 和 BeanFactory 的区别

    //从ApplicationContext 中取 bean
    ApplicationContext ac = new ClassPathXmlApplicationContext ( "com/hsp/beans.xml" ) ;
    ac.getBean("beanId");
     当我们去实例化beans.xml,该文件中配置的 bean 就被实例化(不论你用还是不用,bean对象都在那),而且该对象是singleton单例的。(每个bean都有scope属性,可以人为的设置任意的bean为单态的,scope="singleton",scope="prototype"则每获得一个bean都是全新的bean)。
      优点:预先加载,使用的时候速度快。
      缺点:耗内存,所有的bean都被实例化了,但是可能只用到其中的很少
    /从bean工厂取bea n
    BeanFactory factory = new XmlBeanFactory( new ClassPathResource ( "com/hsp/beans.xml" ) ) ;
    factory.getBean("beanId");
    如果使用 BeanFactory 去取bean ,当你只是实例化该容器,那么容器里的 beans 不会马上被实例化,只有当你使用getBean某个bean时,才会实时的创建。
      优点:节约内存。
      缺点:速度慢。
    关于选择:只有在移动项目里使用beanfactory,大多数项目(90%)使用的都是ApplicationContext,因为可以提前加载,只是浪费点内存。

    原文地址:
    http://www.cnblogs.com/kanghaimeng/p/4660042.html
  • 相关阅读:
    父子传值
    第三次作业
    第二次作业
    最后一次作业--总结报告
    Vue项目axios请求设置responseType无效
    滚动条样式修改
    超出部分显示省略号,鼠标悬浮显示详细文本,el-tooltip
    大屏rem
    js比较时间大小
    kindeditor编辑器上传图片跨域
  • 原文地址:https://www.cnblogs.com/newlangwen/p/7206914.html
Copyright © 2011-2022 走看看