天天看點

Spring的核心之IoC容器建立對象

Spring的Ioc容器,是Spring的核心内容:   作用:對象的建立和處理對象的依賴關系。

Spring容器建立對象有以下幾種方式:

  1:調用無參數的構造器

 <!-- 預設無參的構造器 --> <bean id="user1" class="com.bie.po.User"></bean>  

  2:調用有參數構造器

 <!-- 帶參的構造器 ,基本資料類型直接寫如int,引用資料類型寫全名如java.lang.String-->  <bean id="user" class="com.bie.po.User">          <constructor-arg value="100" index="0" type="int"></constructor-arg>          <constructor-arg value="張三" index="1" type="java.lang.String"></constructor-arg> </bean>

    在Spring中通過配置檔案使用ref元素引用其他JavaBean的執行個體對象

<!-- 定義一個字元串,值是'張三';String str=new String("張三"); --> <bean id="str" class="java.lang.String">       <constructor-arg value="張三"></constructor-arg>      <!-- 帶參的構造器 ,基本資料類型直接寫如int,引用資料類型寫全名如java.lang.String--> <bean id="user" class="com.bie.po.User">      <constructor-arg value="100" index="0" type="int"></constructor-arg>      <constructor-arg ref="str" index="1" type="java.lang.String"></constructor-arg>   

完整的applicationContext.xml(bean.xml)配置檔案如下所示:

3:工廠類建立對象

    3.1:工廠類,靜态方法建立對象

 <!-- 3:工廠類建立對象          工廠類,執行個體方法,必須先建立工廠          再建立user對象,用factory的執行個體方法     --> <bean id="factory" class="com.bie.po.ObjectFactory"></bean> <bean id="user3" factory-bean="factory" factory-method="getInstance"></bean>   

    3.2:工廠類,非靜态方法建立對象

<!--          4:工廠類,靜态方法,靜态方法不需要執行個體化對象,             class指定的就是工廠類型             factory-method一定是工廠裡面的靜态方法     <bean id="user" class="com.bie.po.ObjectFactory" factory-method="getStaticInstance"></bean>

 掌握Spring核心IoC容器,由簡到繁,faghting~~~