@Autowired 与@Resource的区别

`@Autowired` 和 `@Resource` 都是 Spring 框架中用于依赖注入的注解,它们有一些细微的区别:

1. 来源不同:
   - `@Autowired` 是由 Spring 提供的注解。
   - `@Resource` 是由 JSR-250 规范提供的注解,因此它不是 Spring 特有的。

2. 注入方式不同:
   - `@Autowired` 默认按类型(byType)进行自动装配,如果需要按名称(byName)装配,则需要与 `@Qualifier` 注解一起使用。
   - `@Resource` 默认按名称(byName)进行装配,如果找不到与名称匹配的 bean,则会按类型(byType)装配。此注解有一个 'name' 属性,可以显式指定要注入的 bean 的名称。

3. 必要性不同:
   - `@Autowired` 默认情况下要求依赖对象必须存在,如果允许为 `null`,则需要设置 `required` 属性为 `false`。
   - `@Resource` 默认情况允许依赖对象不存在,如果设置了 `name` 或 `type` 而对应的 bean 找不到,则注入失败。

4. 引入时间不同:
   - `@Autowired` 是从 Spring 2.5 开始引入的。
   - `@Resource` 是从 Spring 2.5 开始支持的,但它来源于 JSR-250 规范。

5. 执行时间点不同:
   - `@Autowired` 是在所有的 Bean 完全初始化之后采取的处理方式。
   - `@Resource` 是在 Bean 初始化中创建对象的时候就进行了注入。

在实际使用中,`@Autowired` 结合 `@Qualifier` 被更多地使用于 Spring 应用程序中,尤其是当按类型自动装配是首选的场景。而 `@Resource` 更适用于名称显式定义更为明确的场景,或者在想要遵循 JSR-250 规范的应用程序中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/447877.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

这个简历你给几分?

求大家给给建议😭😭 自己算法几乎没刷过,项目也不咋好 打算21号开始投日常实习 好慌

Day31-计算机基础1

Day31-计算机基础1 1. 网络基础介绍1.1 什么是网络?1.2 为什么要有网络?1.3 运维人员需要学习哪些网络知识?1.4 按作用范围对网络分类 2.网络设备知识2.1 网络传输介质及传输信号2.2 网卡设备2.3 中继器(RP repeater)2…

labview的常用小技巧

1.切换:labview中控件函数与函数选板的使用非常频繁,而使用菜单来调用他们非常不方便。最简单的调用方法是:右击前面板,弹出控件选板;右击程序框图,弹出函数选板。然后按住CtrlE组合键,即可快速…

#QT(QString)

1.IDE:QTCreator 2.实验 3.记录 4.代码

Unity之PUN实现多人联机射击游戏的优化

目录 🎮一、 跳跃,加速跑 🎮二、玩家自定义输入昵称 🍅2.1 给昵称赋值 🍅2.2 实现 🎮三、玩家昵称同步到房间列表 🍅3.1 获取全部玩家 🍅3.2 自定义Player中的字段 &#…

优思学院|5S 应该由哪个部门负责推行?

很多人以为5S是生产部的事,负责的部门自然是生产部,事实上这是一个很严重的错误,那么,究竟5S 应该由哪个部门负责推行?我们今天就来讨论一下。如果你喜欢我们的文章,记得点赞和收藏。 5S是全员参与的活动&…

是什么样的父母才是真正内心最强

真正的内心强者:育子之道 在这个世界上,每个人都在追求内心的强大,而真正的内心强者往往是那些在育子之道上执着前行的父母。他们用自己的智慧和爱心,培养出独立、自信、有责任感的孩子,同时也锻造了自己的内心力量。…

第十一届“图灵杯“NEUQ-ACM程序设计竞赛-H(卷王)

思路&#xff1a;二分加爬树&#xff08;本人较为满意&#xff09; #include <bits/stdc.h>#define endl \n using ll long long; typedef unsigned long long ull; using namespace std;void GordenGhost();signed main() { #ifdef Gordenfreopen("in.txt",…

Win11用户必看:Win11 24H2版本更新教程!

随着Win11系统的不断更新&#xff0c;24H2版本带来了许多令人期待的新功能和优化。为了帮助您顺利完成更新&#xff0c;小编给您提供了详细的更新教程。按照本文的步骤进行操作&#xff0c;您将能够轻松完成Win11 24H2版本的更新&#xff0c;并享受全新的系统体验。 Win11 24H2…

助力头部银行10倍提升数据化运营效率,NoETL的破局之道丨爱分析活动

在数字化飞速发展的今天&#xff0c;企业经营者们逐渐认识到数据平台对于企业生产经营所不可或缺的价值。随着数据平台不断发展和进化&#xff0c;数据量、数据源、用数人群也日益增加&#xff0c;对于业务用数敏捷和数据管理有序同样带来了全新的挑战。数据应用层面&#xff0…

[Flutter]自定义等待转圈和Toast提示

1.自定义样式 2.自定义LoadingView import package:flutter/material.dart;enum LoadingStyle {onlyIndicator, // 仅一个转圈等待roundedRectangle, // 添加一个圆角矩形当背景maskingOperation, // 添加一个背景蒙层&#xff0c; 阻止用户操作 }class LoadingView {static f…

CleanMyMac X 4.14.1中文版功能介绍及激活入口

细心的用户发现苹果Mac电脑越用越慢&#xff0c;其实这种情况是正常的&#xff0c;mac电脑用久了会产生很多的缓存文件&#xff0c;如果不及时清理会影响运行速度。macbook就会产生各种各样的垃圾文件,比如说残留的注册表或者无效的注册表,系统碎片以及毫无用处的文件等,这些的…

C++动态二维数组vector<vector<T>>详细讲解

前言 在本文章中&#xff0c;我们将要详细介绍一下C中vector关于动态二维数组vector<vector>。 一、杨辉三角的引入 我们在介绍动态二维数组之前&#xff0c;先来看一下这道题目 在本题目中&#xff0c;我们很容易发现规律&#xff0c;两边数据为1,剩下的按照一定的规…

Dynamo程序添加到Revit工具栏(懒人版)

你是不是想将Dynamo写好的程序添加到Revit工具栏&#xff1f; 你是否还在因为Dyno Browser配置起来太复杂而烦恼&#xff1f; 你是否因为Dynamo不同版本&#xff0c;无法单独配置工具栏而发愁&#xff1f; 今天九哥来给大家弄了一个更简单的工具&#xff0c;是拿网上开源的工…

巫蛊之祸——汉武帝后期的一次重大事件

引 言 “巫蛊之祸”是汉武帝在位后期发生的一次重大政治事件&#xff0c;也是西汉历史上最大的冤案&#xff0c;此案导致皇后卫子夫和太子刘据自杀&#xff0c;数万人头落地&#xff0c;几十万人被牵连。 一、巫蛊之术的由来 《汉书》记载&#xff0c;巫蛊之术起源自胡巫&am…

批量合并:一键操作,轻松将多个TXT文本合并为一个

在信息爆炸的时代&#xff0c;我们每天都面临着处理大量文本信息的挑战。无论是学习、工作还是生活中&#xff0c;TXT文件作为最基础的文本格式&#xff0c;承载着大量的重要信息。然而&#xff0c;传统的文本管理方式往往效率低下&#xff0c;难以满足我们的实际需求。那么&am…

python处理csv文件

1.使用 csv_writer.writerow # 导入CSV安装包 import csv# 1. 创建文件对象 f open(文件名.csv,a,encodingutf-8)# 2. 基于文件对象构建 csv写入对象 csv_writer csv.writer(f)# 3. 构建列表头 csv_writer.writerow(["问题","答案"])list_name[] # 4. 写…

Python之Web开发中级教程----搭建Web框架一

准备环境&#xff1a;ubuntu,Python3.6.9 一、Web应用程序的原理 接收并解析HTTP请求&#xff0c;获取客户的请求信息->处理完成请求的业务逻辑->返回处理结果HTTP响应。 Web框架的架构是这样的&#xff1a; 基于python的web框架&#xff0c;如tornado、flask、webpy都是…

【大厂AI课学习笔记NO.74】人工智能产业技术架构

包括基础层、技术层和应用层。 人工智能的产业技术架构是一个多层次、多维度的复杂系统&#xff0c;它涵盖了从基础硬件和软件设施到高级算法和应用技术的全过程。这个架构通常可以分为三个主要层次&#xff1a;基础层、技术层和应用层。下面我将详细论述这三个层次及其细分内…

GPU:使用阿里云服务器,免费部署一个开源大模型

前面提到CPU版本如何安装和部署ChatGLM&#xff0c;虽然能部署&#xff0c;但是速度和GPU比起来确实一言难尽。 然后找阿里云白嫖了一个服务器&#xff08;省点用的话&#xff0c;不用的时候关机&#xff0c;可以免费用两个多月没问题&#xff09;&#xff0c;只要没有申请过 …