当前位置: 首页 > article >正文

Spring中@Autowired@Resource和@Inject注解区别

@Autowired:来源于spring框架自身默认是byType自动装配,当配合了@Qualifier注解之后,

由@Qualifier实现byName装配。它有一个required属性,用于指定是否必须注入成功,默认为true。


@Resource:来源于JSR-250规范。
在没有指定name属性时是byType自动装配,当指定了name属性之后,采用byName方式自动装配。


@Inject:来源于JSR-330规范。(JSR330是]cp给出的官方标准反向依赖注入规范。)它不支持任何属性,但是可以配合@Qualifier或者@Primary注解使用。同时,它默认是采用byType装配,当指定了1SR-330规范中的@Named注解之后,变成byName装配。属性:无使用场景:在使用@Autowired注解的地方,都可以替换成@Inject。它也可以出现在方法上,构造函数上和字段上但是需要注意的是:因为IRE无法决定构造方法注入的优先级,所以规范中规定类中只能有一个构造方法带@Inject注解。


http://www.kler.cn/a/383619.html

相关文章:

  • Python选择题训练工具:高效学习、答题回顾与音频朗读一站式体验
  • 【python高级】342-TCP服务器开发流程
  • WebAPI编程(第一天,第二天)
  • 信号仿真高级工程师面试题
  • c# 后台任务自动执行
  • 【杂谈】-为什么Python是AI的首选语言
  • 记录学习react的一些内容
  • 123456789
  • K8S node节点没有相应的pod镜像运行故障处理办法
  • Spring Boot驱动的导师双选系统:设计与实现
  • 现货白银的交易技巧:成功进行趋势跟踪的技巧
  • 双指针算法篇——一快一慢须臾之间解决问题的飘逸与灵动(3)
  • IT专业入门,高考假期预习指南
  • Linux服务管理-DHCP
  • 【STM32】项目实战——OV7725/OV2604摄像头颜色识别检测(开源)
  • 【bug日志-水】解决本地开发下代理和url同名导致刷新404的问题
  • webpack使用详解
  • Uniapp在Vue环境中引入iconfont图标库(详细教程)
  • 7.2、实验二:被动接口和单播更新
  • 拼多多客服安抚顾客话术大全
  • Bert框架详解(下)
  • conda 设置代理
  • 基于SpringBoot的医疗陪护系统设计与实现(源码+定制+开发)
  • apache-seata-2.1.0 AT模式使用篇(配置简单)
  • linux 进程调度学习笔记
  • 数据结构和算法-01背包问题02-背包问题常见解决方案