我们都知道 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是怎么管理的