自动装配:autowire属性指定自动装配的方式,有三个值:
1. byName
2. byType
3. constructor
byName : 根据bean的名字和当前bean的setter风格的属性名进行自动装配 ,若有匹配的则自动装配,若没有不自动装配。
<bean id="person" class="hello.Person" autowire="byName"></bean>
person类中有hello属性 就匹配到对应的注入方式
id改为Hello也不行 一定要和属性名一致才匹配。
byType :根据bean的类型和当前bean的属性类型进行自动装配。若IOC容器中有1个以上的类型匹配的bean,则抛异常
constructor:根据构造函数 不常用
自动装配缺点:
1. autowire属性在bean中,所以会自动装配所有的属性,无法设置只装配个别属性
2. 要么根据类型自动装配,要么根据名称自动装配,两者不能同时兼容
3. 一般情况下 实际项目中很少使用自动装配,因为明确清晰的装配文档更有说服力
整合第三方框架的时候有时可以带来方便