@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 进行注入。

相关文章
|
9月前
|
JSON 安全 Java
什么是JWT?如何使用Spring Boot Security实现它?
什么是JWT?如何使用Spring Boot Security实现它?
1737 5
|
开发工具 git
git篇3:idea中创建项目并提交到远程Git仓库
git篇3:idea中创建项目并提交到远程Git仓库
2996 2
|
Java Spring 容器
@Resource注解是什么作用,和@bean区别是什么?
@Resource注解是什么作用,和@bean区别是什么?
441 0
|
11月前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
733 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
11月前
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
2403 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
|
11月前
|
Java Spring 容器
@Resource 和 @Autowired 介绍 为什么使用 @Autowired 会报错,改成@Resource 就对了
本文介绍了`@Autowired`和`@Resource`两种依赖注入注解的区别及使用场景,并解释了为什么在某些情况下使用`@Autowired`会导致错误,而改成`@Resource`则可以解决问题。
881 0
|
Java 编译器 Spring
面试突击78:@Autowired 和 @Resource 有什么区别?
面试突击78:@Autowired 和 @Resource 有什么区别?
15049 5
|
Java Apache Spring
Java发送Http请求(HttpClient)
Java发送Http请求(HttpClient)
12272 2
|
Java 测试技术 Spring
|
Java Maven Spring
【IntelliJ IDEA】使用Maven方式构建Spring Boot Web 项目(超详细)2
【IntelliJ IDEA】使用Maven方式构建Spring Boot Web 项目(超详细)
2797 2