2013-04-15 37 views
5

該文檔包含以下段落。在Spring框架參考文檔3.2.2中,@Inject是否存在錯誤?

「與@Autowired一樣,可以在類級別,字段級別,方法級別和構造函數參數級別使用@Inject。」

如果我沒有出錯,我知道@Inject註解可以使用字段級,方法級和構造函數參數級別,不能用class級別。

進樣註釋的源代碼:

@Target({ METHOD, CONSTRUCTOR, FIELD }) 
@Retention(RUNTIME) 
@Documented 
public @interface Inject {} 

是真的嗎?

回答

2

對我而言,它們幾乎是等價的,@Inject是自從Java EE 6和@Autowired部分Spring框架引入的CDI的一部分。

@Autowired界面看起來有相同的目標@Inject:

@Target(value={CONSTRUCTOR,FIELD,METHOD}) 
@Retention(value=RUNTIME) 
@Documented 
public @interface Autowired 

我認爲這是在Spring documentation章5.11.1一個小錯誤,因爲我從來沒見過一個類級別的任何@Autowired註解。

This link顯示了每種方法的區別和限制。