IOC 控制反转:把对象的创建交给spring容器处理
spring容器创建对象方式:
- 默认构造函数(默认情况下)
- 静态工程方法创建(spring调用工厂方法产生对象,但是真正创建对象还是由程序员来完成的)
- 实例工厂方法
spring容器创建对象的时机:
在单例的情况下
- 在默认的情况下,启动spring容器时创建对象
- 在spring的配置文件bean中有一个属性lazy-init=”default/true/false”
- 如果lazy-init为”default/false”在启动spring容器时创建对象。
如果lazy-init为”true”,在context.getBean时才要创建对象。
在多例的情况下
就是一种情况:在context.getBean时才创建对象
spring容器对象的生命周期:
1、spring容器创建对象
2、执行init方法
3、调用自己的方法
4、当spring容器关闭的时候执行destroy方法
当scope为”prototype”时,spring容器时不会调用destroy方法。