博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 中 ApplicationContext 和 BeanFactory 的区别
阅读量:6606 次
发布时间:2019-06-24

本文共 739 字,大约阅读时间需要 2 分钟。

//从ApplicationContext 中取 beanApplicationContext 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 nBeanFactory factory = new XmlBeanFactory( new ClassPathResource ( "com/hsp/beans.xml" ) ) ;factory.getBean("beanId");
如果使用 BeanFactory 去取bean ,当你只是实例化该容器,那么容器里的 beans 不会马上被实例化,只有当你使用getBean某个bean时,才会实时的创建。
  优点:节约内存。
  缺点:速度慢。
关于选择:只有在移动项目里使用beanfactory,大多数项目(90%)使用的都是ApplicationContext,因为可以提前加载,只是浪费点内存。 原文地址:

转载于:https://www.cnblogs.com/newlangwen/p/7206914.html

你可能感兴趣的文章
Delphi 的保留字【转】
查看>>
一种简易版服务熔断设计
查看>>
递归,回溯,DFS,BFS的理解和模板【摘】
查看>>
Project - SAFe(Scaled Agile Framework,规模化敏捷框架)简介
查看>>
错误记录统计
查看>>
如何删除Windows10操作系统资源管理器中的下载、图片、音乐、文档、视频、桌面、3D对象这7个文件夹...
查看>>
c#-快速排序-算法
查看>>
hdu 5492 (暴力+nice)
查看>>
python入门导引
查看>>
leetcode 165. Compare Version Numbers
查看>>
Linux系统下用户行为审计
查看>>
MongoDB主从配置
查看>>
针对IE浏览器里面CSS的Bug解决方法
查看>>
python 小点
查看>>
Tf中的SGDOptimizer学习【转载】
查看>>
MySQL<多表操作>
查看>>
day01<计算机基础知识&Java语言基础>
查看>>
Web前端性能优化的14条规则
查看>>
【vue】vue +element 搭建及开发中项目中,遇到的错误提示
查看>>
微信小程序之简单记账本开发记录(六)
查看>>