spring 单例bean和多实例bean的总结

真正实现向IOC容器获取bean的功能,也是出发依赖注入的地方

如上图所示:先从缓存中去读是否应已经有被创建过的单例模式bean,对于单例模式bean,整个IOC容器只创建一次,不要重复创建。如果IOC容器里面没有单例模式的bean,则创建好后,放到IOC容器里面,在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#doCreateBean

如果对于多实例bean,则每次都是创建新的bean

总结:@Lazy的作用
SpringIoC容器会在启动的时候实例化所有单实例 bean 。如果我们想要实现 Spring 在启动的时候延迟加载 bean,即在首次调用bean的时候再去执行初始化,就可以使用 @Lazy 注解来解决这个问题。注意:使用@Lazy的前提是要操作的Bean要使用默认的单例模式。使用@Lazy懒加载注解可以减少springIOC容器启动过程的加载时间。而当使用改注解时,改单例对象在第一次被调用的时候创建,放到IOC容器里,并且只创建一次,第二次以后就会在IOC容器里面获取便可以了。 

posted @   郭慕荣  阅读(376)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示