bean的自动装配:
在bean对象很少的时候,我们可以通过xml文件中的< property >或者< constructor-arg >进行配置,但是随着工程量的不断增加,xml文件中的代码会很繁琐,此时我们可以通过spring提供的自动装配机制简化xml文件中的代码,减少代码的编写,提高程序的可阅读性
1.编写测试对象
2.xml配置文件的编写
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--开启注解的支持-->
<context:annotation-config/>
<bean id="cat" class="com.spring.pojo.Cat"/>
<bean id="dog" class="com.spring.pojo.Dog"/>
<bean id="people" class="com.spring.pojo.People"/>
</beans>
3.在需要进行装配的属性上添加@Autowired
(也可以在set方法上使用)
4.测试
@Test
public void peopleTest(){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
People people = applicationContext.getBean("people", People.class);
people.getCat().show();
people.getDog().show();
}
@Autowired
按类型自动转配的,不支持id匹配。
@Qualifier
- 加上@Qualifier则可以根据byName的方式自动装配
- @Qualifier不能单独使用。