最近正在重读《spring in action》一书,把里面的知识点再回顾一遍。
beanfactory是一个顶层接口,是最基本的bean容器。spring使用beanfactory来生成,配置和管理bean。
applicationcontext是beanfactory的子类,它比beanfactory提供了更加丰富的功能。
平时常用的bean容器还有3个,它们都是applicationcontext
的子类,如图所示。classpathxmlapplicationcontext
主要用在在类路径加载xml文件的场景,filesystemxmlapplicationcontext
主要用在在文件系统加载xml文件的场景,xmlwebapplicationcontext
主要用在在web中加载xml文件的场景。
beanfactory和applicationcontext在bean加载方面有什么不同呢?
beanfactory是延迟加载。beanfactory初始化完成后,并不加载任何bean,只有在第一次获取bean时,beanfactory才会加载该bean。而applicationcontext会在启动后主动加载好单例bean,这样,从applicationcontext中获取bean时效率更高。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/li_canhui/article/details/85191943