自动装配
Bean自动装配
- 自动装配是Spring满足bean依赖一种方式
- Spring会在上下文中自动寻找,并自动给bean装配属性
在Spring中有三种装配的方式
- 在xml中显示的配置
- 在java中显示配置
- 隐式的自动装配bean
ByName自动装配
ByType自动装配
<bean class="com.haoyang.pojo.cat"
<bean class="com.haoyang.pojo.cat">
//byName:会自动在容器上下文中查找和自己对象set方法后面的值对应的beanid
//byType:会自动在容器上下文中查找,和自己对象属性类型相同的bean
<bean id="people" class="com.haoyang.pojo.people" autowire="byType">
<property name="name" value="我是">
</bean>
小结:
- byname的时候,需要保证所有bean的id唯一,并且这个bean需要和自动注入的属性set方法的值一致
- byType的时候,需要保证所有bean的class唯一,并且这个bean需要和自动注入的属性的类型一致
使用注解
@Resource和@Autowired的区别
- ,都可以都是使用自动装配都可以放在属性字段上
- @Autowired通过ByName的方式实现,并且必须要求这个对象
- @Resource默认通过byname的方式实现,如果找不到名字,则通过byType实现!如果两个都找不到的情况下,就报错!