Spring Ioc介绍和Bean的实例化

 

一.IoC:Inverse of Control 控制反转   //  依赖注入  Dependency Injection

控制:某一接口具体实现类的选择权

反转:从调用者中移除控制权,转交第三方

 

二.基于装置的装配

创建应用对象之间协作关系的行为被称装配包括三方面工作:

1. BeanBean 的实例化
2. 属性注入
3. 建立 BeanBean 之间的关系

 

三,Bean的实例化

1. 生成Bean的实例包括三种方法:

方法一:默认构造函数的(必须要把默认构造函数写出来)

<bean id="car2" class="com.sitong.instantiationbean.Car"></bean>  

方法二:静态工厂

public class StaticFactory {
    static Car createCar(){
        return new Car(200,"aaa");
    }
}
 <bean id="car2" class="com.sitong.instantiationbean.StaticFactory" factory-method="createCar"></bean>

方法三:实例工厂

public class InstanceFactory {
    public Car creatCar(){
        return  new Car(200,"Bens");
    }
}
<bean id="carFactory" class="com.sitong.instantiationbean.InstanceFactory"></bean>
<bean id="car3" class="com.sitong.instantiationbean.Car" factory-bean="carFactory" factory-method="creatCar"></bean>

2.管理Bean的生命周期:

Bean的生命周期,有两个层面:

A. BeanBean 的作用范围
B. 实例化 BeanBean 所经历的一系列阶段

与Bean的生命周期有关配置
1. 设置 BeanBean 的作用范围(scope属性)
2. 延迟初始化( lazy-init和default-lazy-init属性 )
3. 初始化方法和销毁(init-method 和destroy-method属性 )

 

A singleton (默认):在容器初始化时创建Bean,每次取到的是同一实例 
B. prototype :在每次获取时创建 Bean

 

posted @ 2017-03-10 15:32  Sitong_Lau  阅读(232)  评论(0编辑  收藏  举报