属性注入:
属性注入即通过setXxx()方法注入Bean的属性值或依赖对象。属性注入要求Bean提供一个默认的构造函数,并为需要注入的属性提供对应的Setter方法。需要指出的是:Spring只会检查Bean中是否有对应的Setter方法,至于Bean中是否有对应的属性变量则不做要求。
Spring配置文件中<property>元素所指定的属性名和Bean实现类的Setter方法满足Sun JavaBean的属性命名规则:xxx的属性对应setXxx()方法。对于大写字母开头的属性,必须满足“变量的前两个字母要么全部大写,要么全部小写”。
构造注入:
构造注入可分为按类型匹配入参、按索引匹配入参、联合使用类型和索引匹配入参。
<bean id="car" class="com.baobaotao.Car">
<constructor-arg index="0" type="java.lang.String"><value>奥拓</value></constructor-arg>
<constructor-arg index="1" type="int"><value>200</value></constructor-arg>
</bean>
工厂方法注入:
非静态工厂方法:
<!-- 工厂类Bean -->
<bean id="carFactory" class="com.baobaotao.CarFactory" />
<bean id="car" factory-bean="carFactory" factory-method="createHongQiCar" />
静态工厂方法:
<bean id="car" class="com.baobaotao.CarFactory" factory-method="getInstance" />