You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CDI规范哪部分规定String类型Bean匹配String所需类型及匹配疑问

CDI规范中String类型Bean与注入点的匹配规则

问题

CDI规范的哪一部分规定了类型为java.lang.String的Bean与所需类型String相匹配?

规范中的类型匹配基础规则

CDI规范的「类型安全解析」章节定义了Bean可分配至注入点的核心条件:

Bean拥有与所需类型匹配的Bean类型。为此,原始类型被视为与其在java.lang中的对应包装类型匹配;数组类型仅在元素类型完全相同时视为匹配。参数化类型(parameterized type)与原始类型(raw type)若完全相同,或Bean类型可分配给所需类型(定义见「原始类型与参数化类型的可分配性」章节),则视为匹配。

针对String类型的匹配逻辑分析

对于java.lang.String这类类型:

  • 它既不是原始类型、raw type,也不是参数化类型(parameterized type)
  • 规范的上述描述看似未明确覆盖这类基础引用类型的匹配规则,但实际上CDI的隐含逻辑是将这类非参数化的普通引用类型纳入「类型完全相同即匹配」的范畴
  • 作为CDI的参考实现,Weld的代码中直接将这类类型按raw type的匹配逻辑处理,即当Bean类型与所需类型完全相同时,判定为匹配。

内容的提问来源于stack exchange,提问作者Laird Nelson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 00:53:35