简单介绍一下Spring 中autowire(自动装配)那首先问问你,你觉得spring中autowire(自动装配)好吗?使用它可能会降低可读性和可维护性;但是在spring中类与类之间的依赖都用<ref>标签来连接,这样太费事了。Spring为我们提供了autowire(自动装配)的属性。
在spring配置文件中autowire属性值如下:
1:no解析
不使用自动装配,是autowire默认的值。必须通过ref元素指定依赖,这是默认设置。
2:byName解析
通过属性名的方式查找spring容器,检测javabean的名字与属性完全一致的bean,并将其与属性自动装配。
3:byType的解析
如果容器中存在一个与指定属性类型相同的bean,如果没有找到相符的bean,该属性就没有被装配上。如果存在多个该类型的bean,那么将会抛出异常,并指出不能使用byType方式进行自动装配。
4:constructor的解析
与byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常
5:autodetect的解析
首先尝试constructor来自动装配,然后使用byType方式。不确定性的处理与constructor和byType方式一样
6: default的解析
由上级标签<beans>的default-autowire属性确定。