对象的自动装配 DI<br /> 装配的方式---对象中的那个属性对象赋值<br /> **1.构造方法**<br /> **<bean name="controller" class="controller.StudentController" autowire="constructor"></bean>**<br /> ** 2.set方法**<br /> **<bean name="controller" class="controller.StudentController" autowire="byName/byType"></bean>**<br /> byName的方式 bean对象中的属性名与另一个bean对象的name或id一致即可<br /> byType的方式 bean对象中的属性类型与另一个bean对象的class类型一致以前默认的bean管理机制<br /> 默认情况下bean是单例的 通过scope="prototype"<br /> 多个对象之间对应的问题 采用内部bean方式 手动指定3.如果对象中的属性是抽象类、接口类型(基本不用)<br /> 属性是没有办法直接创建对象赋值<br /> 属性赋值一定是子类(不止一个可以啦)<br /> <br /> a.利用是构造方法方式自动装配<br /> 先按照类型匹配 刚好就一个 直接赋值<br /> 如果类型发现不止一个对应 再按照属性名与bean的name或id匹配 成功匹配 就赋值<br /> b.利用无参数构造方法+set方法进行自动装配<br /> byName形式 按照名字进行找寻 找不到就没有 找到就装配<br /> byType形式 如果有两个以上对应的类型 标签配置时直接报错 采用内部形式 ref自己指定的形式
