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

1,221 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

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

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

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

装配方式

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

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

其他方式

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

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

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

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