注 :
(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方法、必须添加一个无参的构造方法