首页 > 其他分享 >Spring中@Autowired和@Resource的区别

Spring中@Autowired和@Resource的区别

时间:2023-10-07 23:00:11浏览次数:45  
标签:Resource Autowired Spring 默认 参数 注解

说明

@Autowired这个注解呢,是由Spring提供的;@Resource由JDK提供的

区别

①注解内参数不同

@Autowired只包含一个required参数,默认为true,表示开启自动注入

@Resource 包含七个参数,其中最重要的两个是name和type

②装配方式默认值不同

@Autowired默认按type自动装配

@Resource默认按name自动装配

③注解应用范围不同

@Autowired能够用在构造方法、成员变量、方法参数、注解上

@Resource能用在类、成员变量和方法参数上

④出处不同

@Autowired是Spring定义的注解

@Resource定义在JDK中

所以@Autowired只能在Spring框架下使用,而@Resource则可以与其他框架一起使用

⑤加载顺序不同

@Autowired默认先按byType进行匹配,如果发现找到多个bean,则又按照byName方式进行匹配,如果还有多个,则报出异常。

@Resource的装载顺序分为四种情况

参考

https://zhuanlan.zhihu.com/p/522095455

标签:Resource,Autowired,Spring,默认,参数,注解
From: https://www.cnblogs.com/kaituorensheng/p/17747701.html

相关文章

  • Spring Cloud Admin
    一、Admin简介提供友好的界面展示actuator统计的数据,可以很好的监控整个微服务系统中的实例运行情况信息。服务异常告警。二、服务端配置启动类添加@EnableAdminServer注解<!--Admin服务--><dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-ad......
  • springboot -- 整合 sharding-jdbc 读写分离+分库分表配置(进阶)
    sharding-jdbc说明:1、分库分表不能中途更改,取模算法的id会出错2、不支持特殊sql,包括去重,子sql,聚合等3、查询会给所有表发查询sql,带上分库,分表的字段的查询只发一条,4、查询数据要注意使用,尽量带上分库或分表字段来查询,避免多表查询sql过多取模算法假设2个表,test_0,test_1,分......
  • 基于springboot的小程序的高校后勤管理系统-计算机毕业设计源码+LW文档
    1、选题背景与意义(含国内外相关研究综述及评价)近年来,随着计算机的不断发展和深入到各个行业中并起到了很重要的作用,给人们带来了很大的便利。在这样的趋势下,高校的后勤管理显得也很重要。在《高校后勤管理系统的设计与实现》中也提到,教育的普及和日益激烈的资源竞争,对学校的教学质......
  • springAMQP-Work Queue 工作队列(一个队列绑定多个消费者)
         ......
  • SpringBoot的学习
    Spring的不足Spring虽然以优雅的设计和灵活强大的功能成为JavaEE企业级框架的主流解决方案,但是使用Spring的过程中也面临着一些不足XML配置太多虽然引入了组件扫描减少了配置量,Java配置让它看上去简洁不少,但Spring还是需要不少配置。所有这些配置都会对开发进度造成影响。JavaCon......
  • SpringAMQP—入门案例消息发送(rabbitmq是一个存放消息队列的中转站,发布者将消息队列发
        ......
  • [SpringCloud 01] RestTemplate Ribbon Feign
    SpringCloud11.RestTemplatespringcloud是基于rest的框架,所以在调用其他服务的时候,可以支持用restTemplate来调用.可以在spring中首先用@Bean的方式把ResTemplate放入spring容器@ConfigurationpublicclassMyConfig{@BeanpublicRestTemplategetRestTem......
  • Spring Boot中配置文件介绍及其使用教程
    一、配置文件介绍SpringBoot项目中,大部分配置都有默认值,但如果想替换默认配置的话,就可以使用application.properties或者application.yml或者application.yaml进行配置。SpringBoot默认会从resources目录下加载application.properties或application.yml文件。其中,application.prop......
  • docker制作springboot镜像
    以下步骤在具有Docker环境的Linux机器上操作。把springboot-1.0.0.jar放到/usr/local/springboot目录下,并在该目录下创建Dockerfile文件,内容为:FROMopenjdk:8-jdk-alpineADDspringboot-1.0.0.jar/usr/local/springboot.jarENTRYPOINT["java","-jar","/usr/local/spring......
  • SpringCloud:Feign实现微服务之间相互请求
    文章目录......