通过构造函数注入依赖
<bean id="foo" class="com.spring.Foo">
<constructor-arg>
<value>42</value>//调用Foo(String s)方法
</constructor-arg>
</bean>
<bean id="foo" class="com.spring.Foo">
<constructor-arg>
<ref bean="bar"/>//调用Foo(bar b)方法
</constructor-arg>
</bean>
解决构造函数参数的不确定性
sping里的构造方法如果有两个或者两个以上参数的话.注入的时候不是按照顺序注入的.而是会报参数不确定异常.解决办法有两种.
1
<bean id="foo" class="com.spring.Foo">
<constructor-arg index="1">//对应第二个参数(index是从0开始的)
<value>42</value>
</constructor-arg>
<constructor-arg index="0">//对应第一个参数
<value>42</value>
</constructor-arg>
</bean>
2
<bean id="foo" class="com.spring.Foo">
<constructor-arg type="java.lang.String">//对应的类型为String
<value>42</value>
</constructor-arg>
<constructor-arg type="java.net.URL">//对应的类型为URL
<value>42</value>
</constructor-arg>
</bean>