首页 > 其他分享 >@Resource和@Autowired区别和用处

@Resource和@Autowired区别和用处

时间:2023-10-21 16:56:16浏览次数:34  
标签:Java Autowired Spring Resource 注解 250 用处

@Autowired和@Resource都是用于依赖注入的注解,但是他们来自不同的“父类”,具有不同的基因。具体来说,@Autowired是Spring框架定义的注解,其功能主要通过Spring的IOC和AOP实现。而@Resource则是Java本身定义的注解,来自于JSR-250(Java 250 规范提案),需要JDK1.6及以上版本。

这两种注解在功能上有许多相似之处,如都可用于字段、构造函数和方法的参数上,以实现自动装配的目标。然而,尽管他们非常相似,但在使用选择上还是存在一些差异。如果希望使用Spring提供的依赖查找方式,那么@Autowired将是一个更好的选择;反之,如果希望使用Java自身的依赖查找方式,那么@Resource将会是更优的选择。

标签:Java,Autowired,Spring,Resource,注解,250,用处
From: https://www.cnblogs.com/daitu66/p/17779204.html

相关文章

  • Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:res
    Failedtoexecutegoalorg.apache.maven.plugins:maven-resources-plugin:3.2.0:resources 一、问题背景在SpringBoot工程编译过程中,出现报错信息:“Failedtoexecutegoalorg.apache.maven.plugins:maven-resources-plugin:3.2.0:resources”。 效果如下: 二、解......
  • Java(Spring) 通过反射classforName获取对象实例导致@Autowired注入失效
    使用策略模式多态获取具体的策略问题描述:classforName在代码中使用反射获取对象实例后,对象实例中通过@Autowrite注解注入的属性值为null(注入失败),导致带反射获取的对象实例调用方法时出现空指针等情况。问题原因:通过反射获取对象实例相当于“new”了一个对象,所以这个对象并没有被......
  • @Autowired注解在实现类还是接口
    @Autowired注解在实现类还是接口首先要清楚@Service是注解在实现类上的,@Service告诉Spring容器,注册一个实例化的类对象,当@Service注解在接口上,是无法对接口实例化的。@ServicepublicclassxxxImplimplementsxxxService@Autowired本质上注入的也是实现类,但是是根据接口byTy......
  • 解决OSError: cannot open resource self.font = core.getfont(font, size, index, en
    解决OSError:cannotopenresourceself.font=core.getfont(font,size,index,encoding,layout_engin在使用Python编程时,我们有时会遇到OSError:cannotopenresourceself.font=core.getfont(font,size,index,encoding,layout_engin这个错误。这个错误通常是由于缺少......
  • 解决OSError: cannot open resource self.font = core.getfont(font, size, index, en
    解决OSError:cannotopenresourceself.font=core.getfont(font,size,index,encoding,layout_engin在使用Python编程时,我们有时会遇到OSError:cannotopenresourceself.font=core.getfont(font,size,index,encoding,layout_engin这个错误。这个错误通常是由于缺少......
  • java.io.IOException: Could not find resource mapper/ProductCategoryMapper.xml 解
    java.io.IOException:Couldnotfindresourcemapper/ProductCategoryMapper.xml解决方案 一、问题背景通过MyBatisPlus测试达梦数据库过程中,运行测试类的时候,项目报错:“java.io.IOException:Couldnotfindresourcemapper/ProductCategoryMapper.xml”工程的目录......
  • resourcemanager高可用原理
    1.背景一年前写过的一篇文章:https://blog.51cto.com/u_15327484/5046768,介绍了ResourceManager的启动流程。文章中介绍了ResourceManager的选举流程,但是行文逻辑较混乱。本文在此基础上,更清晰地介绍了resourcemanager的高可用原理,希望能够达到小白也能看懂的程度。2.Zookeeper......
  • Spring Boot读取resource目录下文件失败解决方案及分析
    背景最近有个需求,就是需要从resources目录下读取文件返回给用户。在idea中运行时,有些resources下文件读取工具类能够正常获取读取到文件。但是通过java–jar的方式去运行jar包,此时resources下文件读取工具类读取文件就失效了。通过查询搜索,了解到了是读取的方式导致文件读取失败......
  • java.lang.ClassNotFoundException org.apache.ibatis.io.Resources问题的解决
    问题描述时隔好久,再次使用mybatis框架写管理系统,运行时出现了这个问题;问题解决我看着我也导入了相关的依赖,然后就发现,原来是没有放入到libaray里面,只需要这么做就能搞定啦:打开项目里面的这里:将右边的需要的包双击即可加入进去啦!再次运行就不会报错啦~~......
  • ResourceManager处理作业提交请求
    1.背景之前写过Yarn状态机的两篇文章。https://blog.51cto.com/u_15327484/4940200介绍了AsyncDispatcher线程,它提供以下机制:通过调用它的register()方法注册不同类型事件对应的处理器,放入Map中。通过调用它的handle()方法将具体的事件放入到事件队列BlockingQueue中。内部e......