autowire自动注入
autowire属性
- no 不自动装配(默认值)
- byName 属性名=id名 ,调取set方法赋值
- byType 属性的类型和id对象的类型相同,当找到多个同类型的对象时报错,调取set方法赋值
- constructor 构造方法的参数类型和id对象的类型相同,当没有找到时,报错。调取构造方法赋值
springConfig.xml代码为:
<!--自动注入-->
<!--autowire:
no 不自动装配(默认值)
byName 属性名=id名 ,调取set方法赋值
byType 属性的类型和id对象的类型相同,当找到多个同类型的对象时报错,调取set方法赋值
constructor 构造方法的参数类型和id对象的类型相同,当没有找到时,报错。调取构造方法赋值
-->
<!--注意,"gr"为Users类Grade gr的属性名,两者保持一致-->
<bean id="gr" class="com.fdk.been.Grade" p:gname="1年级" p:gid="1"></bean>
<!---byName注入,注意,注入的时候,需要注入的属性名和bean.id中的名字相同-->
<bean id="u1" class="com.fdk.been.Users" p:name="hah" autowire="byName">
</bean>
<!---byType注入,注意,注入的时候,不需要属性名与id名相同,它是根据相同的类型去找的,当同时存在两个一样类型的时候报错-->
<bean id="u2" class="com.fdk.been.Users" p:name="heihei" autowire="byType"></bean>
<!--constructor 注入,调用的是构造方法注入,-->
<bean id="u3" class="com.fdk.been.Users" autowire="constructor"></bean>