我们都知道 spring 中最精髓的地方是就是IOC控制反转。也就是说spring对Bean的管理。

  我就是单纯的好奇:Bean 是怎么加载的,怎么初始化的

                                  Bean 是什么时候创建的

                                  Bean 是怎么管理的              

                                  Bean 的生命周期

                                  Bean 存放在哪里

 

 

 # #   对于第一个问题:Bean 是怎么加载的,怎么初始化的


 

  # #  Bean 是什么时候创建的

  在xml中配置bean的时候,如果没有设置 lazy-init=true这个属性,那么这个bean的创建时机就是容器启动时就自动创建了这个类的实例,如果设置了lazy-init=true这个属性,那么这个类的创建时机就是调用这个类时初始化,就是所谓的懒加载,不用这个类的时候spring容器不会主动加载。这样做的好处是,如果这个类配置错误,那么spring启动的时候仍然能启动成功,直到后面调用的时候才会报错。如果没有配置懒加载的情况是spring启动时,就加载所有没有配置lazy-init=true的bean,可以做到提前检查,如果配置错误,spring就会启动报错。

 

# #  Bean是怎么管理的