基于xml的自动装配之byName
自动装配方式: byNamebyName :将自动装配的属性的属性名,作为 bean 的 id 在 IOC 容器中匹配相对应的 bean 进行赋值
总结:当类型匹配的 bean 有多个时,此时可以使用 byName 实现自动装配
配置bean
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="userController" class="com.atguigu.spring.controller.UserController" autowire="byName">
<!-- <property name="userService" ref="userService"></property>-->
</bean>
<bean id="userService" class="com.atguigu.spring.service.impl.UserServiceImpl" autowire="byName">
<!-- <property name="userDao" ref="userDao"></property>-->
</bean>
<bean id="userDao" class="com.atguigu.spring.dao.impl.UserDaoImpl"></bean>
</beans>
测试
public class AutowireByXmlTest {
@Test
public void testAutowire(){
ApplicationContext ioc = new ClassPathXmlApplicationContext("spring-autowrire-xml.xml");
UserController userController = ioc.getBean(UserController.class);
userController.saveUser();
}
}