在spring ioc容器中我们可以存放多个 bean 如果要一一去赋值比较麻烦,然而再bean配置设置autowire属性进行自动装配可以将bean的所有属性都装配进去,但是如果只是需要个别属性的时候自动装配就不够灵活了
autowire有两个属性 byType和byName
byName
是在容器中寻找与该属性名相同的bean 如果没有找到,属性值就是null
***UserDao是一个接口
<bean id="userOracleDao" class="springboot.ioc.spel.UserOracleDao"></bean>
<bean id="userMysqlDao" class="springboot.ioc.spel.UserMysqlDao"></bean>
<bean id="userServise" class="springboot.ioc.spel.UserServise" autowire="byName">
</bean>
UserServise里面的属性为 private UserDao userMysqlDao;
byType
***UserDao是一个接口
UserServise里面的属性 不能是 private UserDao userMysqlDao;只能是private UserMysqlDao userMysqlDao;(或者其他)属性名都行,类型要对上
<bean id="userOracleDao" class="springboot.ioc.spel.UserOracleDao"></bean>
<bean id="userMysqlDao" class="springboot.ioc.spel.UserMysqlDao"></bean>
<bean id="userServise" class="springboot.ioc.spel.UserServise" autowire="byName">
</bean>