Java中的@Resource和@Autowire有哪些区别?

简介: Java中的@Resource和@Autowire有哪些区别?

在我们使用Java开发时,都会使用装配注解来对对象进行注入。

这里面最常用的就是@Resource和@Autowire两个注解了,平时在工作中很多人并不在意这两者的用法,其实也是因为在平时Java开发时,两个注解更换的话,也不一定就会出现问题。

为了避免出现意外,还是要提前学习为好,下面我们就来说一下两者的区别吧。

装配方式

Autowire注解,默认按照类型进行装配,但是其配置属性要求装配的对象允许为null,当然这些情况也能配置来修改。

Resource注解,默认按照对象名称来进行装配,当找不到名称匹配的bean时,而后就会使用类型进行匹配。

其他方式

如果Autowire注解也想要使用按照对象名称进行装配的方式的话,就需要通过@Qualifier注解来进行配置。

@Resource注解时不需要进行配置就可以自动处理使用对象名称和对象类型两种方式进行装配,只不过是先判断是否能获取到对象名称相应的bean,如果没有,就去根据对象类型来装配。

在项目开发中,其实还是要按照团队编码规则进行程序编写,两个注解的使用很多人都会推荐使用@Resource注解,这个可以进行一个参考,在功能上虽然优于Autowire注解,但是@Resource注解的开销比较大。

每天记录一下自己上班需要百度的问题,永远相信美好的事情即将发生。

目录
相关文章
|
2天前
|
安全 Java
【JAVA】在 Queue 中 poll()和 remove()有什么区别
【JAVA】在 Queue 中 poll()和 remove()有什么区别
|
2天前
|
Java API
【JAVA】final、finally、finalize 有什么区别?
【JAVA】final、finally、finalize 有什么区别?
|
2天前
|
Java
【JAVA】throw 和 throws 的区别?
【JAVA】throw 和 throws 的区别?
|
2天前
|
Java
【JAVA】Iterator 和 ListIterator 有什么区别?
【JAVA】Iterator 和 ListIterator 有什么区别?
|
2天前
|
Java 开发框架 XML
JDK、JRE、Java SE、Java EE和Java ME有什么区别?
JDK、JRE、Java SE、Java EE和Java ME有什么区别?
|
2天前
|
Java
java一分钟之-字符流与字节流的区别
【5月更文挑战第11天】Java的输入输出通过流操作,分为字符流和字节流。字节流处理二进制数据,如图片、音频,基类是`InputStream`和`OutputStream`;字符流处理文本,基类是`Reader`和`Writer`。字符流涉及编码转换,字节流不涉及。易错点包括乱码(需指定编码)、混用流类型和忘记关闭流。示例展示了字节流和字符流读文件。理解区别并注意编码和资源管理可提高代码质量。
36 3
|
2天前
|
安全 Java 编译器
Java中String、StringBuilder和StringBuffer的区别
Java中String、StringBuilder和StringBuffer的区别
10 1
|
2天前
|
Java
Java中 a+=b和a=a+b有什么区别?
Java中 a+=b和a=a+b有什么区别?
|
2天前
|
Java 开发者
Java中三种Set的实现类的用法和区别
Java中三种Set的实现类的用法和区别
|
2天前
|
存储 安全 Java
【JAVA】concurrentHashMap和HashTable有什么区别
【JAVA】concurrentHashMap和HashTable有什么区别