Spring的IOC的作用:
spring容器控制对象的生命周期:前提条件是,在spring容器中的bean必须是单例的;
Spring中Bean三种创建方式:
1.利用默认构造函数(如果没有默认构造函数,会报错)
2.利用静态工厂方法
3.利用示例工厂方法
创建时机:
1.lazy-init为“default/false”,启动spring容器的时候创建bean,但是如果该bean是prototype时,这种情况失效;在spring容器启动的时候,就会发现错误;有可能会造成一些数据长时间驻留在内存中。
2.lazy-init为“true”,当context.getBean时创建bean为多例时,必须这种方案创建对象;不能及时发现错误,数据会在需要的时候加载。
初始化
由spring容器调用init方法,在构造函数之后执行。
销毁
如果是单例,则必须返回ClassPathXmlApplicationContext该容器,才能执行销毁工作;如果是多例,容器不负责销毁。