@Autowired和@Resource

简介: @Autowired和@Resource

在Spring框架中,@Autowired@Resource都是用于依赖注入的注解,它们可以用来自动装配Spring容器中的bean。尽管它们的目的相同,但它们之间存在一些差异:

@Autowired

  • @Autowired是Spring框架自带的注解。
  • 它可以通过类型来自动装配,如果一个类有多个相同类型的依赖,可以通过@Autowired结合@Qualifier注解来指定具体的bean。
  • @Autowired可以应用于构造器、字段、设置方法和普通方法。
  • 默认情况下,@Autowired是按类型进行装配的,但也可以通过设置其required属性为false来使其成为可选的依赖。

@Resource

  • @Resource是Java自带的注解,由JSR-250规范提供。
  • 它可以通过名称来自动装配,即它会尝试按照名称来查找并注入bean。
  • @Resource可以应用于构造器、字段和设置方法。
  • @Resource默认按照名称进行装配,如果没有指定名称,则会尝试按类型进行装配。
  • @Resource有一个name属性,可以通过它来指定要注入的bean的名称。

使用示例

@Service
public class MyService {
   
    private MyDependency dependency;

    @Autowired
    public MyService(MyDependency dependency) {
   
        this.dependency = dependency;
    }

    @Autowired
    @Qualifier("specificBean")
    public void setDependency(MyDependency dependency) {
   
        this.dependency = dependency;
    }
}

@Component
public class MyComponent {
   
    @Resource(name="specificBean")
    private MyDependency dependency;
}

我个人是比较推荐使用@Resource注解,不仅简单,代码整洁,而且容错率也高,关键能去掉IDEA的警告!

相关文章
|
XML Java 数据库连接
Mybatis使用generator逆向工程生成器生成entity、mapper、.xml模版类
今天将表建好了,但是一个一个的建实体类、Mapper接口、Mapper.xml文件就十分的麻烦,所以我就想到了MyBatis逆向,今天就操作一把!这里我们采用maven来进行操作。
709 0
|
小程序
支付宝扫码跳转小程序并传参
支付宝扫码跳转小程序并传参
2036 1
|
4月前
|
算法 安全 量子技术
“RSA还能撑多久?”——聊聊量子计算下密码学的危与机
“RSA还能撑多久?”——聊聊量子计算下密码学的危与机
250 0
|
Java Spring 容器
@Resource 和 @Autowired 介绍 为什么使用 @Autowired 会报错,改成@Resource 就对了
本文介绍了`@Autowired`和`@Resource`两种依赖注入注解的区别及使用场景,并解释了为什么在某些情况下使用`@Autowired`会导致错误,而改成`@Resource`则可以解决问题。
1055 0
|
传感器 安全 算法
【C语言】C语言可以做什么?
C语言因其高效、灵活和低级控制能力,被广泛应用于各个领域,从基础设施和科学计算到金融、交通和机器人技术。它在许多关键应用中展示了其不可替代的价值和广泛的适用性。
895 2
|
应用服务中间件 nginx
Nginx:怎么携带参数重定向
通过合理配置Nginx的 `rewrite`指令和 `return`指令,可以实现携带参数的重定向。这不仅可以确保用户请求被正确重定向,还可以保留原始查询参数,满足更多复杂的重定向需求。
424 2
Postman 的 Basic Auth 如何通过 Feign 实现
Postman 的 Basic Auth 如何通过 Feign 实现
216 8
|
JSON 前端开发 Java
Spring 注解之@RestController与@Controller的区别
Spring 注解之@RestController与@Controller的区别
509 0
|
存储
数组与链表有什么区别
数组与链表有什么区别
522 1
|
Kubernetes 负载均衡 应用服务中间件
k8s部署nginx(Pod、Deployment、Service)
k8s部署nginx(Pod、Deployment、Service)
3468 0
k8s部署nginx(Pod、Deployment、Service)

热门文章

最新文章