1.通過構(gòu)造函數(shù)的方式進(jìn)行注入
標(biāo)簽屬性:
? ? type:用于指定注入的數(shù)據(jù)的類型拣宰,改數(shù)據(jù)類型也是構(gòu)造函數(shù)中某個(gè)參數(shù)的類型
? ? index:用于指定注入的數(shù)據(jù)在構(gòu)造函數(shù)中指定索引位置的參數(shù)賦值狸棍,從0開始
? ? name:用于指定給構(gòu)造函數(shù)中指定名稱的參數(shù)賦值
? ? ============常用的方式===============
? ? value:用于提供基本類型和String類型的數(shù)據(jù)
? ? ref:用于指定其他bean類型數(shù)據(jù),指定是在spring的Ioc和興容器中出現(xiàn)過的bean對(duì)象
優(yōu)勢(shì):所有的構(gòu)造函數(shù)的參數(shù)必須每個(gè)值都有
弊端:有的非必填參數(shù)也要一并初始化
<bean id="service" class="com.lsw.service">
? ? <constructor-arg name="age" value="18"></constructor-arg>
? ??<constructor-arg name="birthday" value="now"></constructor-arg>
</bean>
<bean id="now" class="java.util.Date">
2.通過set方法進(jìn)行注入
標(biāo)簽屬性:
? ? name:用于指定注入時(shí)所調(diào)用的set方法名稱
? ? value:用于提供基本類型和String類型的數(shù)據(jù)
? ? ref:用于指定其他bean類型數(shù)據(jù)席镀,指定是在spring的Ioc和興容器中出現(xiàn)過的bean對(duì)象
優(yōu)勢(shì):創(chuàng)建對(duì)象是沒有明確的限制,可以直接使用默認(rèn)構(gòu)造函數(shù)
弊端:如果某個(gè)成員是必須值,則獲取對(duì)象 是可能set方法沒有執(zhí)行
<bean id="service" class="com.lsw.service">
? ? <property name="方法名" value="test"></property>
? ??<property name="方法名1" value="test"></property>
</bean>
<bean id="now" class="java.util.Date">