该文档包含以下段落。
“与@Autowired 一样,可以在类级别、字段级别、方法级别和构造函数参数级别使用@Inject。”
如果我没记错的话,我知道@Inject 注解可以用于字段级别、方法级别和构造函数参数级别,不能用于类级别。
注入注解源代码:
@Target({ METHOD, CONSTRUCTOR, FIELD })
@Retention(RUNTIME)
@Documented
public @interface Inject {}
这是真的吗?
该文档包含以下段落。
“与@Autowired 一样,可以在类级别、字段级别、方法级别和构造函数参数级别使用@Inject。”
如果我没记错的话,我知道@Inject 注解可以用于字段级别、方法级别和构造函数参数级别,不能用于类级别。
注入注解源代码:
@Target({ METHOD, CONSTRUCTOR, FIELD })
@Retention(RUNTIME)
@Documented
public @interface Inject {}
这是真的吗?
对我来说,它们几乎是等价的,@Inject
是自 Java EE 6 以来引入的CDI@Autowired
的一部分和 Spring 框架的一部分。
该@Autowired
界面看起来与@Inject 具有相同的目标:
@Target(value={CONSTRUCTOR,FIELD,METHOD})
@Retention(value=RUNTIME)
@Documented
public @interface Autowired
我认为这是Spring 文档第 5.11.1 章中的一个小错误,因为我从未@Autowired
在类级别上看到任何注释。
此链接显示了每种方法的差异和限制。