【开发日记】Spring中@Autowired和@Resource
全栈开发日记
共 1175字,需浏览 3分钟
· 2022-08-03
区别
1- 提供方不同
1.1、@Autowired
注解由Spring提供,所属包:
org.springframework.beans.factory.annotation
1.2、@Resource
注解由JDK提供,所属包:
javax.annotation
2- 导入方式不同
2.1、@Autowired
注解只能按照类型注入,如果需要使用此注解按名称注入的话则需要搭配@Qualifier
来实现按名称注入。
2.2、@Resource
注解默认使用名称注入,但也可以使用类型注入。
名称注入:
@Resource(name="AutowiredTestImpl1")
private AutowiredTest autowiredTest;
类型注入:
@Resource(type=AutowiredTest.class)
private AutowiredTest autowiredTest;
类型和名称同时指定:
@Resource(type=AutowiredTest.class,name = "AutowiredTestImpl1")
private AutowiredTest autowiredTest;
当类型与名称同时指定时,会找到唯一符合的bean进行注入。
强制注入默认情况下,会在应用启动时@Autowired
和@Resource
注解会在IOC容器中查找相对应的Bean,如果没有则报错。
使用@Autowired
注解可以设置非强制注入,该注解的required
属性默认值为true,表示强制注入;将该属性值改为false后,在应用启动时如果有这个Bean就注入,没有就跳过,不会报错。
@Autowired(required = false)
private AutowiredTest autowiredTest;
多个符合条件的Bean1- 问题
使用@Autowired
时如果容器中有两个或两个以上的Bean符合注入条件,会报错如下:
expected single matching bean but found 2
表示期望一个Bean,但是找到两个。
2- 解决
2.1、使用@Primary
注解设置主要Bean;当发现多个符合条件的Bean时,那么优先注入被@Primary
注解的Bean。
@Component
@Primary
public class AutowiredTestImpl1 implements AutowiredTest...
2.2、配合@Qualifier
注解,实现的效果如同使用@Resource
对name和type都进行了设置。
@Autowired
@Qualifier("AutowiredTestImpl1")
private AutowiredTest autowiredTest;
评论
互联网晚报 | 大麦网已退款凤凰传奇演唱会“柱子票”;钟薛高再成被执行人;iPhone 16或取消实体音量键和电源键
大麦网回应凤凰传奇演唱会买到“柱子票”:已退票退款据报道,凤凰传奇2024巡回演唱会常州站演出结束的第二天,有网友称自己在大麦网买到“柱子票”,因为观看效果不佳,要求退款被拒。23日,记者从涉事网友处了解到,大麦方面给出了退款建议,但被其拒绝,“我希望平台退款加赔偿,并重视屡次出现的‘柱子票’问题。
产品刘
0
AI论文写作工具和生成器(一)
随着人工智能和大模型的迅猛发展,AI对研究人员和学生提供了极大的写作便利。本文将介绍市面上常用的AI论文写作工具,帮助你提高论文写作效率并遵循学术道德。请仅将AI论文生成器视为辅助参考手段,切勿直接挪用全文。XPaper AlXPaper AI是由点击式创作工具晓语台推出的一款论文写作生成平台,只需
IQ前端
0
Langchain使用 | 模型、提示和解析器、存储
零、LangChain介绍为各种不同基础模型提供统一接口- 帮助管理提示的框架- 一套中心化接口,用于处理长期记忆(参见Memory)、外部数据(参见Indexes)、其他 LLM(参见Chains)以及 LLM 无法处理的任务的其他代理(例如,计算或搜索)。总的来说,有六大核心模块:Models:
Python之王
0
你真的理解 devDependencies 和 dependencies 的区别吗?
点击上方 前端Q,关注公众号回复加群,加入前端Q技术交流群作者:井柏然原文:https://juejin.cn/post/7135795969370619918你是否真的理解 devDependencies 和 dependencies 的区别?如果不能确切的回答、理解还停留在模糊的阶段,
前端Q
0
分享几个前端中好玩且有用的开源工具,总有一个适合你!
点击上方 前端Q,关注公众号回复加群,加入前端Q技术交流群正所谓差生文具多,作为前端的我们,拥有几个合适的工具和网站可以很有效的提高我们的工具效率,还会有一些很有趣的网站可以在我们敲 bug 累了的时候供我们娱乐,接下来我就和大嘎分析一下我在用的一些工具和网站。聚合API该网站提供了大量的
前端Q
0
图解 transformer 中的自注意力机制
↓推荐关注↓本文将将介绍注意力的概念从何而来,它是如何工作的以及它的简单的实现。注意力机制在整个注意力过程中,模型会学习了三个权重:查询、键和值。查询、键和值的思想来源于信息检索系统。所以我们先理解数据库查询的思想。假设有一个数据库,里面有所有一些作家和他们的书籍信息。现在我想读一些Rabindra
Python学习与数据挖掘
0
SpringBoot+Minio实现上传凭证、分片上传、秒传和断点续传
关注我们,设为星标,每天7:40不见不散,架构路上与您共享回复架构师获取资源大家好,我是你们的朋友架构君,一个会写代码吟诗的架构师。Spring Boot整合Minio后,前端的文件上传有两种方式:1、文件上传到后端,由后端保存到Minio这种方式好处是完全由后端集中管理,可以很好的做到、身份验证、
Java架构师社区
0
分享一份抓取某东商品名称、价格和评论数的代码
点击上方“Python共享之家”,进行关注回复“资源”即可获赠Python学习资料今日鸡汤芳草已云暮,故人殊未来。大家好,我是皮皮。一、前言前几天在Python白银交流群【邮递员】问了一个Python网络爬虫的问题,提问截图如下:代码如下:import requestsfrom
IT共享之家
0