当前位置: 首页 > 知识库问答 >
问题:

注入注释、资源注释和自动连线注释

朱兴安
2023-03-14

@inject@resource@autowired注释之间有什么区别?

我们应该在什么时候使用它们每一个?

共有1个答案

单于承
2023-03-14

@inject与@autowire与@resource之间的区别是什么?

@autowired:spring适当性注释(与@inject和@resource相反),它按类型(即按注释字段或承包商的接口的类)注入资源。如果接口或子类的实现很少,我们可以使用@Qualifier注释缩小选择范围,以避免歧义。对于回退匹配,bean名称被视为默认限定符值。虽然您可以使用此约定通过名称引用特定bean,但@AutoWired从根本上讲是关于具有可选语义限定符的类型驱动注入。

@inject:基于JSR-330(Java的依赖注入)的注释标识可注入的构造函数、方法和字段。这个注解几乎完全替换了Spring的@AutoWired注解。因此,您可以选择使用@inject而不是使用Spring特定的@AutoWired注释。@autowired和@inject之间的一个区别是@inject没有required字段,所以如果我们找不到合适的对象进行注入,它将失败,而@autowired可以使用required=false并允许空的字段(仅在需要的情况下!)。@inject注释优点是,您可以要求@inject注入提供程序,而不是直接注入引用。Provider接口支持bean引用的惰性注入和一个bean的多个实例的注入。如果接口或子类的实现很少,我们可以使用@named注释缩小选择范围,以避免歧义。@named注释的工作方式与Spring的@qualifier很相似

@resource:基于JSR-250的注释。@resource与@autowired和@inject非常相似,但主要区别是找出所需的bean进行注入所采用的执行路径。@resource将首先按名称缩小搜索范围,然后按类型缩小搜索范围,最后按限定符缩小搜索范围(如果按名称找到匹配,则忽略搜索范围)。@autowired和@inject将首先按类型缩小搜索范围,然后按限定符缩小搜索范围,最后按名称缩小搜索范围。

 类似资料:
  • Java 元数据(Metadata)规范(JSR-175),是J2SE 5.0和更高版本的一部分,提供一种在Java代码中指定配置数据的方法。Java代码中的元数据也被称为注解。在JavaEE中,注解用于声明对外部资源的依赖和在Java代码中的配置数据而无需在配置文件中定义该数据。 本节描述了在Java EE技术兼容的Servlet容器中注解和资源注入的行为。本节扩展了Java EE规范第5节标题

  • 我正在查看工作区中的一些旧示例。我看不出自动连线是如何完成的,因为没有@Autowired。Spring Boot默认配置。 它工作得很好,但是如果没有自动配线,这些豆子是如何自动配线的呢?它们是自动作为字段还是在构造函数中?

  • 使用 Vim 编辑 Shell 脚本,在进行调试时,需要进行多行的注释,每次都要先切换到输入模式,在行首输入注释符"#"再退回命令模式,非常麻烦。 连续行的注释其实可以用替换命令来完成。换句话说,在指定范围行加"#"注释,可以使用 ":起始行,终止行 s/^/#/g",例如: :1,10s/^/#/g 表示在第 1~10 行行首加"#"注释。"^"意为行首;"g"表示执行替换时不询问确认。如果希望

  • 我对spring中的@Autowired注释有问题。我有一个RestController类: 接口: CategoryManagerImpl类: 每次编译代码时,我都会遇到一个异常: Bun当我创建ApplicationContext并尝试获取categoryManagerImpl bean时,没有问题: 有人知道哪里会有问题吗? 谢谢 添加了 配置类: 堆栈跟踪:

  • 问题内容: 什么时候在方法开始时使用块注释,什么时候使用Javadoc风格的注释? 在Java样式指南的“注释”部分中,我发现了这一点: Java程序可以有两种注释:实现注释和文档注释。实现注释是在C ++中发现的,由,和// 分隔。文档注释(称为“文档注释”)仅适用于Java,并以分隔。可以使用javadoc工具将Doc注释提取到HTML文件中。 实现注释用于注释掉代码或有关特定实现的注释。Do

  • 本文向大家介绍Oracle 获取表注释和列注释,包括了Oracle 获取表注释和列注释的使用技巧和注意事项,需要的朋友参考一下 全部表 表的注释 列的注释 相应的还有dba_col_comments,all_col_comments,这两个比user_col_comments多了ower列 以上所述是小编给大家介绍的Oracle 获取表注释和列注释,希望对大家有所帮助,如果大家有任何疑问请给我留言