注 :
(1)使用構造方法依賴注入有兩種一種是通過參數順序一種是按照參數類型的順序
(2)所有的依賴注入都必須擁有無參的構造方法,一開始沒有添加是因為jvm會自動配置設定
按照參數的順序
代碼實作:
<bean id="UserService" class="springboottest.ioc.UserService">
<constructor-arg index="0" ref="userDao"></constructor-arg>
<constructor-arg index="1" value="程式設計"></constructor-arg>
<constructor-arg index="2" value="19"></constructor-arg>
</bean>
按參數類型的順序
<bean id="UserService" class="springboottest.ioc.UserService">
<constructor-arg type="springboottest.ioc.UserDao" ref="userDao"></constructor-arg>
<constructor-arg type="String" value="程式設計"></constructor-arg>
<constructor-arg type="int" value="19"></constructor-arg>
</bean>
注 : 如果使用構造方法依賴注入可以不添加setter方法
添加内部bean
<bean id="UserService" class="springboottest.ioc.UserService">
<property name="apple">
<bean class="springboottest.ioc.Apple"></bean>
</property>
</bean>
注 :
使用内部bean必須添加setter方法、必須添加一個無參的構造方法