@Resource 这个注解什么用啊

简介: @Resource 这个注解什么用啊

@Resource 这个注解是什么用?


看到了很多类似的问题,这篇文章就统一啦。


@Resource 是 Java EE 中的一个注解,用于进行依赖注入。它可以用来标注字段、setter 方法或构造方法,使得容器可以自动装配相应的依赖对象。


在 Spring Framework 中,@Resource 注解通常用于进行依赖注入,与 @Autowired 注解功能类似,但有一些区别:


@Resource 是 Java EE 的标准注解,而 @Autowired 是 Spring 提供的注解。

@Resource 默认按照名称进行装配,如果没有指定名称,则按照类型进行装配;而 @Autowired 默认按照类型进行装配。

@Resource 可以指定装配的名称(name 属性),也可以指定装配的类型(type 属性);而 @Autowired 不支持这种方式。

@Resource 是通过调用 Java EE 的依赖注入机制实现的,而 @Autowired 是通过调用 Spring 框架的依赖注入机制实现的。


下面是一个简单的示例:

import javax.annotation.Resource;

public class UserService {

    @Resource
    private UserRepository userRepository;

    // 省略其他代码
}

这个示例中,UserService 类中的 userRepository 字段使用了 @Resource 注解进行了标注,容器会自动将一个符合类型的 Bean 注入到这个字段中,如果存在多个符合类型的 Bean,容器会根据名称来选择具体的 Bean 进行注入。

相关文章
|
1月前
|
Java Spring 容器
@Resource 和 @Autowired 介绍 为什么使用 @Autowired 会报错,改成@Resource 就对了
本文介绍了`@Autowired`和`@Resource`两种依赖注入注解的区别及使用场景,并解释了为什么在某些情况下使用`@Autowired`会导致错误,而改成`@Resource`则可以解决问题。
179 0
|
6月前
|
Java Spring 容器
@Resource 和 @Autowired区别是什么?
@Resource 和 @Autowired区别是什么?
|
6月前
|
Java Spring 容器
同一接口有多个实现类,怎么来注入一个指定的实现?@Resource、@Autowired、@Qualifier
同一接口有多个实现类,怎么来注入一个指定的实现?@Resource、@Autowired、@Qualifier
323 0
|
6月前
|
Java Spring 容器
@Resource注解是什么作用,和@bean区别是什么?
@Resource注解是什么作用,和@bean区别是什么?
201 0
|
6月前
|
Java Spring
spring注解@Autowired、@Resource说明
spring注解@Autowired、@Resource说明
|
Java 编译器 Spring
Spring框架@Autowired和@Resource到底有什么区别
Spring框架@Autowired和@Resource到底有什么区别
518 0
|
Java Spring
解析Spring注解:@Resource与@Autowired的区别
在Spring框架中,依赖注入是实现松耦合、可维护性高的应用的重要方式之一。`@Resource`和`@Autowired`是两个常用的注解,用于实现依赖注入。然而,它们在用法和特点上有所不同。本文将详细介绍`@Resource`和`@Autowired`之间的区别,以及在Spring应用中的应用场景。
307 0
|
开发框架 Java Spring
@Autowired与@Resource有何区别?
@Autowired与@Resource有何区别?
96 0
|
开发框架 Java Spring
spring注解:@Autowired 和@Resource
spring注解:@Autowired 和@Resource
308 0
|
开发框架 Java Spring
Autowired和Resource的区别
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。
257 0