spring中的依赖注入实现方式主要有两种类型:setter注入和构造方法注入。
一、构造方法注入:
1.一个类与其他类中之间没有依赖关系的时候,没有组合其他类,即自身是顶级类的时候,那么自身创建实例对象则用默认的构造方法。
2.非默认的构造方法注入,带参数的构造方法注入
语法1---index类型:
<bean id="A" class="A的包路径">
<constructor-arg index="1" value="小明"/>
<constructor-arg index="2" value="23"/>
语法2--type类型:
<bean id="A" class="A的包路径">
<constructor-arg type="java.lang.String" value="小明"/>
<constructor-arg type="int" value="23"/>
语法3--bean注入:A中组合B类
<bean id="A" class="A的包路径">
<constructor-arg>
<ref bean="B" />
</constructor-arg>
</bean>
<bean id="B" class="B的包路径" />
</beans>
二、setter注入:
语法1--bean注入:一个类A组合了另一个类B或者C,即在A中注入B或者C,在A类中需要提供B或者C类的setter方法
<bean id="A" class="A的包路径">
<property name="A中组合的变量名">
<ref bean="B或者C" />
</property>
</bean>
<bean id="B" class="B的包路径" />
<bean id="C" class="C的包路径" />
语法2--一般属性
<bean id="A" class="A的包路径">
<property name="A中的属性(成员变量)" value="XXXXX">
<./bean>