【Spring】Bean的自动装配
Bean的自动装配
自动装配
当Bean的属性很少的时候,我们对它进行配置的时候就使用很少的<constructor-arg>或者<property>元素进行装配,但是随着工程体积的增大,Bean也可能变得复杂,这时候配置文件也会变得复杂,<constructor-arg>和<property> 就会变得很多,写起来就会很费劲,还好Spring为我们提供了自动装配的机制。
autowire的模式
Spring IOC容器可以自动装配Bean,只需要在<bean> 的autowire属性中指定装配的模式。 首先创建一个Person类,生成getter和setter方法,重写toString方法:
因为属性中依赖Address类和Car类,然后继续创建这两个类,生成getter方法和setter方法,重新toString方法:
接下来进行配置: 这是我们正常配置时候的样子,让我们运行一下: 结果没有问题。
autowire的缺点
- 在Bean配置文件中涉及autowire属性进行自动装配将会配置Bean的所有属性,然而,若只希望装配个别属性时,autowire就不够灵活了。
- autowire要么根据类型自动装配要么根据名字自动装配,不能两者兼顾。
- 在一般情况下,在实际的项目中很使用自动装配的功能,因为和自动装配功能带来的好处比起来,明确清晰的配置文档更好一些。
