在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
所谓的自动装配,就是讲Bean注入到其他Bean的Property中。其定义可以理解为:无须在Spring配置文件中描述JavaBean之间的依赖关系(如配置<property>、<constructor-arg>)。IOC容器会自动建立Javabean之间的关联关系。在Spring框架中共有5种自动装配模式。下面为大家分别说明。
no:这是Spring框架的默认设置,在该设置下自动装配是关闭的,开发者需要自行在bean定义中用标签明确的设置依赖关系。缺省情况下,自动配置是通过“ref”属性手动设定。
byName:该选项可以根据bean名称设置依赖关系。当向一个bean中自动装配一个属性时,容器将根据bean的名称自动在在配置文件中查询一个匹配的bean。如果找到一个bean的名称和其他bean属性的名称是一样的话,就装配这个属性,如果没找到的话就报错。
byType:该选项可以根据bean类型设置依赖关系。当向一个bean中自动装配一个属性时,容器将根据bean的类型自动在在配置文件中查询一个匹配的bean。如果找到一个bean的数据类型是用其它bean属性的数据类型的话,就装配这个属性,如果没找到的话就报错。
constructor:造器的自动装配和byType模式类似,但是仅仅适用于与有构造器相同参数的bean,如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。
autodetect:该模式自动探测使用构造器自动装配或者byType自动装配。首先,首先会尝试找合适的带参数的构造器,如果找到的话就是用构造器自动装配,如果在bean内部没有找到相应的构造器或者是无参构造器,容器就会自动选择byTpe的自动装配方式。
以上就是为大家介绍的关于spring框架中5种自动装配模式。希望对你的学习有所帮助。博学谷平台有大量免费java基础课程以及优质小课,帮助你学习。同时如果想通过Java学习找到适合自己的工作,也可以参考博学谷Java在线课程。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Dubbox和Dubbo哪个好?为什么?
Dubbox和Dubbo哪个好?其实Dubbox和Dubbo都是很好的服务框架,简单来说,Dubbox和Dubbo本质上没有区别,Dubbox是Dubbo的升级版本。这样说来,好像Dubbox更好一些,为什么?毕竟它是升级的版本,扩展了Dubbo没有的内容。现在,我们来详细分析一下它们两者的区别吧!
12790
2019-08-06 10:12:07
2020年九大Java开发框架都有什么?
2020年九大Java开发框架,小编主要介绍Spring框架、Hibernate框架、Struts框架、Play框架、GoogleWebToolkit框架、Grails框架、Blade框架、JavaServerFaces框架、Vaadin框架九大框架,希望您可以多Java框架有更多的认识。
5265
2019-12-18 16:34:54
Sentinel使用教程讲了什么内容?
Sentinel是一个高可用流量管理框架,它的开发语言是Java,作用是从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。因此Java开发者必须要熟练掌握Sentinel的使用。本文将为大家介绍一下Sentinel使用教程,下面一起来看看Sentinel使用教程讲了什么内容吧~
5286
2020-06-23 16:40:54
Spring AOP应用场景有哪些?Aop工作原理分析
Aop工作原理分析,面向切面编程,是通过代理的方式为程序添加统一功能,集中解决一些公共问题。应用在Debugging 调试、logging, tracing, profiling and monitoring 记录跟踪优化校准场景中。
9651
2020-09-02 11:08:42
微服务和分布式的区别什么?有什么特点?
微服务设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上也可以是同一个服务器。分布式属于微服务,将模块拆分成一个独立的服务单元通过接口来实现数据的交互。分布式和微服的架构很相似,只是部署的方式不一样而已。
4432
2021-03-10 11:10:50