XML配置里的Bean自动装配
- Spring IOC容器可以自动装配Bean。需要做的仅仅是在<bean>的autowire属性里指定自动装配的模式
- byType(根据类型自动装配):若IOC容器中有多个与目标Bean类型一致的Bean。在这种情况下,Spring将无法判定哪个Bean最适合属性,所以不能执行自动装配。
- byName(根据名称自动装配):必须将目标Bean的名称和属性名设置完全相同。
- constructor(通过构造器自动装配):当Bean中存在多个构造器时,此种自动装配方式将会很复杂。不推荐使用
自动装配byName实例:
1 | <!-- 通过p命名空间为bean的属性赋值,需要先导入 p 命名空间,相对于传统的配置更加的简洁 --> |
自动装配byType实例:
1 | <!-- 通过p命名空间为bean的属性赋值,需要先导入 p 命名空间,相对于传统的配置更加的简洁 --> |
XML配置里的Bean自动装配的缺点
- 在 Bean 配置文建立设置 autowire 属性进行自动装配将会装配 Bean 的所有属性。然而,若值希望装配个别属性时, autowire属性就不够灵活了。
- autowire 属性要么根据类型自动装配,要么根据名称自动装配,不能两者兼而有之。
- 一般情况下,在实际项目中很少使用自动装配功能,因为和自动装配功能所带来的好处比起来,明确清晰的配置文档更有说服力一些。