请解释各种自动装配模式的区别
Posted inet_ygssoftware
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请解释各种自动装配模式的区别相关的知识,希望对你有一定的参考价值。
在Spring中共有5种自动装配模式,让我们逐一分析。
(1)no:这是Spring的默认设置,在该设置下自动装配是关闭的,开发者需要自行在Bean定义中用标签明确地设置依赖关系。
(2)byName:该模式可以根据Bean名称设置依赖关系。当向一个Bean中自动装配一个属性时,容器将根据Bean的名称自动在配置文件中查询一个匹配的Bean。如果找到就装配这个属性,如果没找到就报错。
(3)byType:该模式可以根据Bean类型设置依赖关系。当向一个Bean中自动装配一个属性时,容器将根据Bean的类型自动在配置文件中查询一个匹配的Bean。如果找到就装配这个属性,如果没找到就报错。
(4)constructor:和byType模式类似,但是仅适用于有与构造器相同参数类型的Bean,如果在容器中没有找到与构造器参数类型一致的Bean,那么将会抛出异常。
(5)autodetect:该模式自动探测使用constructor自动装配或者byType自动装配。首先会尝试找合适的带参数的构造器,如果找到就是用构造器自动装配,如果在Bean内部没有找到相应的构造器或者构造器是无参构造器,容器就会自动选择byType模式。
以上是关于请解释各种自动装配模式的区别的主要内容,如果未能解决你的问题,请参考以下文章
springboot自动装配---@SpringBootApplication注解怎么自动装配各种组件
Spring 基于自动装配的依赖注入详解 [自动装配模式搞不懂?来看就完了!!!][autowire 属性值详解][自动装配的 6 种模式]