spring的自动配置是对类属性的自动配置,
public class User {
private Cat cat;
private Dog dog;
private String name;
}
<?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="dog" class="com.adie.pojo.Dog"/>
<bean id="cat" class="com.adie.pojo.Cat"/>
<bean id="user" class="com.adie.pojo.User">
<property name="cat" ref="cat"/>
<property name="dog" ref="dog"/>
<property name="name" value="adie"/>
</bean>
</beans>
对cat dog的属性进行装配 称之为spring的自动装配
spring的自动配置有以下几种类型:
1. -no 通过ref手动配置 不在容器里找
2. -byname 在容器里寻找 beanid与属性名称一样的进行装配 (找到 beanid=cat)
3.-bytype 就会找类型和属性值类型一样的(找到 beanid=com.adie.pojo.Cat)
4.注解的方式:
1.@Autowire 通过类型进行装配 @Autowire有个属性值require值 默认是true 当这个属性为空时会报错误 require=false 则允许为空
@Quarlifire注解一般不单独使用 他和@Autowire注解使用就是让@Autowire可以通过名称的方式进行装配
2.
- @Resource如有指定的name属性,先按该属性进行byName方式查找装配;
- 如果以上都不成功,则按byType的方式自动装配。