Spring中自动装配的4种方式

时间:2022-09-03 21:55:36

spring容器可以在不使用<constructor-arg><property>元素的情况下自动装配相互协作的bean之间的关系,助于减少编写一个大的基于spring的应用程序的xml配置的数量使用<bean>元素的autowire属性为一个bean定义指定自动装配模式。

在spring中,我们有4种方式可以装配bean的属性。

1,byname

通过byname方式自动装配属性时,是在定义bean的时候,在property标签中设置autowire属性为byname,那么spring会自动寻找一个与该属性名称相同或id相同的bean,注入进来。

2,bytype

通过bytype方式自动注入属性时,是在定义bean的时候,在property标签中设置autowire属性为bytype,那么spring会自动寻找一个与该属性类型相同的bean,注入进来。

3,constructor

通过构造器自动注入。在定义bean时,在bean标签中,设置autowire属性为constructor,那么,spring会寻找与该bean的构造函数各个参数类型相匹配的bean,通过构造函数注入进来。

4,autodetect

自动装配。如果想进行自动装配,但不知道使用哪种类型的自动装配,那么就可以使用autodetect,让容器自己决定。这是通过在定义bean时,设置bean标签的autowire属性为autodetect来实现的。设置为autodetect时,spring容器会首先尝试构造器注入,然后尝试按类型注入。

默认情况下,spring是不进行自动装配的。我们可以在xml中,设置beans标签的default-autowire属性为byname,bytype等,来设置所有bean都进行自动装配。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接

原文链接:https://blog.csdn.net/li_canhui/article/details/85229262