Spring基础(一):IOC(控制反转)

1.IOC:控制反转

           SpringIOC:把对象的创建、初始化、销毁等工作交给Spring容器,由Spring容器控制对象生命周期

2.Spring创建对象的方式

           (1).默认构造函数

           (2).静态工厂方法

                      1).提供静态工厂类

                      2).在Spring配置文件中提供工厂方法

                      3).实例工厂方法

3.Spring创建对象的模式

           (1).默认是单例模式  ==> “singleton” 

           (2).

<bean id="hello" class="domain.Hello" scope="prototype"></bean>

           将scope值写成prototype则为原型模式,即多例

           注:因为默认是单例,所以list一般不在bean中声明,一般放在方法中,不然就是共享数据了。

4.Spring是什么时候创建对象的?

           (1).默认情况,启动就创建对象

                      有利于开发:Spring启动时,若配置文件有错会报错

           (2).延迟加载

<bean id="hello" class="domain.Hello" lazy-init="true"></bean>

                      lazy-init的值可以是true|false|default,false和default都表示不延迟加载

                      使用场景:一个bean中有大量数据,需要懒加载

5.Spring对对象的初始化和销毁(前提条件:单例)

           

<bean id="hello" class="domain.Hello" init-method="init" destroy-method="destroy"></bean>

           (1).在bean中提供init-method和destroy-method方法。所有的初始化和销毁都是由Spring容器自动执行

           (2).若Spring的bean是在多例的情况下,则Spring不负责销毁,程序员手动设置为Null

           (3).若Spring的bean是多例,不管lazy-init是什么值,均不存在懒加载,而只有在context.getBean()时才创建对象

猜你喜欢

转载自blog.csdn.net/qq_40594696/article/details/88079395