Spring中如何解决自动装配的歧义性
5282023-08-20
大家好,感谢邀请,今天来为大家分享一下Spring中如何解决自动装配的歧义性的问题,以及和spring的自动装配不建议的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
本文目录
1.idea安装运行springboot是需要jdk的。
2.什么是jdk:
JDK是Java开发工具包(JavaDevelopmentKit)的缩写。从字面意思翻译过来就是java开发的工具。它是一种用于构建在Java平台上发布的应用程序、applet和组件的开发环境。
简单说就是java程序运行的一个环境。而springboot是一个java程序(可以这么理解)。那么这个程序运行就需要一个环境,就是需要jdk。
举个例子,就像你的手机,想看抖音,需不需要用到安卓系统一样,其实是要的。而安卓系统就是我们手机出厂的时候安装好的软件系统,相当于给抖音程序运行的一个环境。这样我们就可以看抖音了。
3.所以说idea安装运行springboot是需要jdk的。
我们先来看看什么是Spring自动装配的歧义性:
当定义的多个bean都是继承同一个接口的时候,使用@Autowired注解对接口进行注入的时候,会出现歧义性。因为Spring这时候不知道找哪个实现bean注入了。
Talkischeap,showmethecode.来看下面这段代码:上面的代码就是典型的Spring自动装配的歧义性,如果在idea编辑器下编写,会发现他会提示报错:
看到这,我相信大家都已经明白了什么是Spring自动装配的歧义性。
解决自动装配的歧义问题那实际项目开发中真有这种情况该如何解决呢?
采用@Primary注解到其中一个类,这样等于是给实现了CarService接口的指定bean定义为首选类,这样Spring默认就会注入这个首选类,当然首选类不可以同时标记两个以上。
那么问题来了,如果我不想注入这个首选类,我想使用另外一个bean怎么办呢?
给这个bean起一个别名:
大家是不是知道了如何解决多实现类自动装配的问题?是不是很简单呢?这里大家是不是发现使用@Resource注解可以很好的解决上面的问题?经常写代码的人一定知道了解决的办法了:以上就是Spring自动装配的歧义性问题以及如何解决,希望我的解答对大家有帮助!那么这里再问大家一个问题:@Autowired和@Resource注解的区别是什么呢?期待你的留言~
我是【java架构设计】,关注我,持续为您提供Java领域优质内容!它们的区别是意思不一样。
1.autowire,自动装配,它的造句如下:
Theautowirepropertycanbesettoseveraloptions.
2.resource,资源;财力;有助于实现目标的东西;资料;勇气;才智;谋略。
小编花了30天,试用超过300款电脑网红软件,最终被下面8款软件,深深吸引住,每个都堪称精品中的精品,良心中的良心。
1、火绒(纯良心电脑安全卫士)火绒与某安全卫士相比,实属“国产清流”,小编接触以来,逢人就推荐,它小巧干净,免费使用,完全没有广告,更没有烦人的弹屏“问候”,它安静守护着小编电脑安全,如今已超过180天。
火绒虽然完全免费,可电脑防护方面一点也不含糊,支持病毒查杀、漏洞修复、系统修复、垃圾清理、流量监控、启动项管理等。
火绒的广告弹窗拦截功能值得吹爆,如果出现“漏网之鱼”,你还能通过自定义截图拦截功能,将不受欢迎的弹窗关进小黑屋,还你电脑一片清净。
2、IDM(最强资源下载器,没有之一)IDM是一款被网友成为“地表最强”的资源下载器,大小只有10M,下载速度比某雷快,完全免费可以白嫖。
对于IDM而言,万物皆可下载,不仅支持BT种子下载,还支持网页视频、音频等资源抓取下载,遇到好东西,不想错过?点击IDM一键留住美好。软件支持批量下载、站点抓取、视频抓取、直播录制等,更多优秀功能等待大家探索。
3、Eversheet(软件开发神器)Eversheet与WPS颇有渊源,其创建者曾深度参与WPS研发,因此Eversheet的使用与WPS一样简单。
Eversheet还有个接地气的中文名叫云表无代码开发平台,纯中文式的操作界面,通过它拖拉拽,画表格即可完成软件开发。
excel用于个人数据记录问题不大,可是将excel用作企业管理时,问题较为突出,数据难以整合容易丢失,缺乏协同管理、缺乏权限设置,也极大阻碍了部门间的数据交互。
以上难题通过云表的流程审批、在线协同功能,可以轻松解决。
值得一提,云表还是国内唯一可以通过无代码搭建出工业级应用的工具,已开发的系统包括,ERP、WPS、MES、WMS等,国内对于云表的接纳程度呈现指数及增长,例如,中国航天科工集团、中国电信、绝味食品、恒逸集团、许继电气等国内龙头都在使用云表搭建属于自己的管理系统。
4、Bandizip(解压神器)解压软件是每台电脑必不可少的,可是好用的大多都要付费或者捆绑广告,下面分享的Bandizip可以说是神级解压工具,界面整洁,无广告,口碑极佳。
Bandizip作为一款经常被网友“种草”的软件,功能不仅仅是常规解压。例如,智能自动解压功能,这是我最喜欢的功能,选择“自动解压”即可根据压缩包所在目录层级自动解压成文件夹,无需选择解压去向,同时避免解压而导致文件铺满屏幕。
另外图片预览功能、损毁压缩包修复功能,都属于Bandizip的实用功能。
5、HiBitUninstaller(流氓卸载神器)这是一款流氓软件卸载神器,大小只有3M,功能却异常强大。某些捆绑软件过于流氓,360卫士的卸载列表也无法找到,此时,只要将流氓软件的图标拉进HiBitUninstaller,即可完成卸载,让人惊喜的是它还能清理注册列表,防止流氓软件死灰复燃,还你电脑一片清净。
HiBitUninstaller的功能非常丰富,例如浏览器扩展工具卸载、强制粉碎、安装监视启动管理、进程管理等。
应用商店组建管理功能,支持卸载window10自带却很少使用的插件。
6、listary(高效启动工具)listary是一款文件搜索与快速启动程序的神器,双击“Ctrl”键,就可以调出它,不管文件与程序藏在哪里,它都能秒搜并打开。
你在使用其他程序,只要双击“Ctrl”键,就能快速启动它,无需关闭当前窗口,非常方便,效率大增。
istary还有一个被大家忽略的实用功能,当你打开了很多文件夹窗口,此时突然同事和你沟通工作,打乱了你的节奏,你不得不先忙别的事情。
回来时你已经忘了哪个文件夹正在使用,需要一个一个找,费时间、费精力,通过它的历史功能回顾,你能快速找到对应的内容,工作衔接再也不会因为打扰而出现断片了。
7、PotPlayerPotPlayer是一款被网友誉为最好的视频播放器,它的推广不需要软件制作者自己标榜,完全靠网友口碑推动,免费且无广告,功能异常强大。
PotPlayer启动速度极快,自身体积小不到30M,播放时占用内也小。其软件内置的解码器,几乎可以播放任何格式的视频文件。除了常规的播放,它丰富的快捷键也非常实用,例如快捷键“C”即可实现视频加速,最高加速至12倍,画面完全不卡顿。快捷键"X",实现视频减速直至0.2倍。“Ctrl+C”组合键实现快速截图,并可复制到微信等工具。
8、ScreenToGif这是一款完全免费的gif制作工具,简洁的操作界面,没任何广告,通过它制作的gif不仅体积小而且非常清晰,还支持录像机、画板等实用功能。
ScreenToGif的操作非常简单,点击“录像机”,框选出需要录制的区域,即可随心制作出个性化的gif动图。
以上8款软件,耗时30天时间整理出来,个个深入人心,良心之作值得点赞,建议收藏方便往后查阅。
好了,关于Spring中如何解决自动装配的歧义性和spring的自动装配不建议的问题到这里结束啦,希望可以解决您的问题哈!