Spring IOC初始化,也就是Bean在Spring IOC中的初始化以及定义。
Bean在Spring IOC容器中的定义和初始化主要分为两大步骤:
1.Bean的定义
2.Bean的初始化和依赖注入
而,Bean的定义又分为三个步骤:
一.Resource定位
Spring IOC容器根据开发者的配置,找到相对应的资源定位,最常见的方式分为1.注解,2.xml
二.BeanDefinition载入
根据Resource定位到的信息,保存到Bean的定义中(BeanDefinition中),此时,还不会创建Bean的实例
三.BeanDefinition注册
将BeanDefinition信息发布到Spring IOC容器中,此时,Bean还是不会有Bean的实例创建
当Bean的三个步骤处理完后成,Bean已经在Spring IOC中定义了,但是,并没有初始化,也没有完成依赖注入。此时,还需要完成Spring Bean的lazy-init配置,也就是说是否初始化Spring Bean,默认为:default,也就是false,Spring IOC会默认自动初始化。
如果,我们设置为lazy-init=true,只有当我们使用Spring IOC容器的getBean方法时,才会初始化Bean,进行依赖注入。
依赖注入的三种方式:
1.构造器注入
构造器注入是依赖构造方法实现的,构造方法可以是无参,可以是有参
2.setter注入
setter注入是比较流行的一种方式,它是利用Java Bean规范所定义的setter方法来注入,灵活且可读性高
3.接口注入