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~~~