<
bean
id
="adderss"
class
="autowire.Address"
p :city ="BeiJing" p :street ="HuiLongGuan" ></ bean >
< bean id ="car" class ="autowire.Car"
p :brand ="Audi" p :price ="300000" ></ bean >
< bean id ="person" class ="autowire.Person" autowire ="byName" ></ bean >
p :city ="BeiJing" p :street ="HuiLongGuan" ></ bean >
< bean id ="car" class ="autowire.Car"
p :brand ="Audi" p :price ="300000" ></ bean >
< bean id ="person" class ="autowire.Person" autowire ="byName" ></ bean >
Spring IOC容器可以自动转配Bean,需要做的仅仅是在<bean>的autowire属性里指定自动装配的模式
--byType(根据类型自动装配):若IOC容器中有多个与目标Bean类型一致的bean。在这种情况下,Spring将无法判定哪个Bean最合适该属性,所以不能执行自动装配
--byName(根据名称自动装配):必须将目标Bean的名称和属性名设置的完全相同
--constructor(通过构造器自动装配):当Bean中存在多个构造器时,此种自动装配方式将会很复杂。
自动装配的缺点
在Bean配置文件里设置autowire属性进行自动装配将会装配Bean的所有属性,然而,若只希望装配个别属性时,autowire属性就不够灵活
autowire属性要么更具类型自动装配,要么根据名称自动装配,不能两者兼而有之