Spring和Springboot中容器注入那些事
spring容器如何去存储我们的bean
底层:每一个bean对应了一个BeanDefinition对象,每个bean注册到Map中。如何证明呢?


答案是:使用BeanDefintionMap来存储的所有的bean。 也就是说springioc就是一个map,仅此而已。
springioc负责:对象的初始化,对象管理,对应的依赖注入,对象的生命周期,对象的获取等(对象的生命周期的管理)
一般情况下,JVM不会回收这块空间,因为它是一个强引用,除非调用了destroy()方法,才会进行垃圾回收。
什么是SpringIoc
什么是SpringIoc:
Ioc不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建对象,从而导致类与类之间的高耦合,难于测试:有了Ioc容器后,把创建和查找对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象中间是松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个结构体系变得非常灵活。
spring把java中传统的面向对象的方式用容器技术技术完成,这个容器可以装配,方便进行管理和处理
优点:节约内存空间,方便

本文探讨了Spring和SpringBoot中容器管理bean的概念,包括Spring如何存储bean以及BeanDefinitionMap的作用。深入讲解了SpringIoC(控制反转)的思想和优点,如松耦合、易于测试和复用。此外,还讨论了依赖注入(DI)的重要性,特别是@Autowired和@Resource注解的区别,强调在存在多个相同类型对象时,命名和匹配规则的重要性。
最低0.47元/天 解锁文章
3172

被折叠的 条评论
为什么被折叠?



