Spring和SpringBoot容器注入

本文最后更新于:3 年前

450956a57b0515be7bbabc816bc79dc3.jpg

Spring注入

Spring容器存储bean

底层:每一个bean对应了一个BeanDefinition对象,每个bean注册到Map中。

==使用BeanDefintionMap来存储的所有的bean。即springioc就是一个map而已。==

springioc:负责 对象的初始化,对象管理,对应的依赖注入,对象声明周期,对象的获取等,一句话:就==对象声明周期的管理==,一般情况下:jvm不会去回收这块空间,因为它强应用。==除非调用destory()方法,才会进行垃圾回收。==

SpringIoc

springIoc它是spring的最基石,它专门去负责对象的初始化,管理和装配以及获取等相关处理和工作。在对象注册过程中,可能存在类和类之间引用关系,这个关系可能会引发spring中对象的注入,也就依赖注入(DI)。:

依赖注入原则

1、构造函数注入

2、set注入

3、**@Autowired&@Resource注解注入**

4、FactoryBean注入(工厂注入)

什么是SpringIoc:

spring把java中传统的创建对象的过程用容器技术完成,使用容器进行对象装配,方便进行管理和处理。

好处:可以节约内存空间,方便测试,利于功能复用更重要的是使得程序的整个体系结构变得非常灵活。

什么是DI:

DI—Dependency Injection,即“依赖注入”:它springioc的容器化技术,在创建对象的过程中,如果发现一个对象中存在另外一个对象的引用的时候,如果你遵循了spring的依赖注入的原则,就会容器中把存在的对象初始化引用对象。但是这种容器化初始化必须要遵循依赖注入原则。

依赖注入原则:

1、构造函数注入

2、set注入

3、**@Autowired&@Resource注解注入**

4、FactoryBean注入(工厂注入)