2011-02-22 67 views
2

可能會繼承@Repository註釋嗎?May @Repository註解是否被繼承?

我可以創造一個

@Repository 
public abstract class BaseRepository { 
} 

,然後擴展它沒有指定@Repository註解?

public class MyRepository extends BaseRepository { 
} 

如何知道註釋是否可以繼承?

回答

1

默認情況下,註解不會被子類繼承,除非使用@Inherited自己註釋(請參見下面的James Kingsbery的註釋),甚至只有當它們在類級別使用時。 @Repository-annotation本身沒有用@Inherited註釋(我從代碼中檢查),所以你必須單獨註釋子類。

+1

庫傾向於掃描類層次結構以查看註釋是否存在。我相信這個問題是關於春天是否會這樣做。 – Bozho 2011-02-22 18:11:33

6

不需要。documentation about stereotypes對此一無所知。

此外,想象當你指定一個名稱@Repository("foo")的情況下 - 那麼每個子類都將被命名爲foo,這將導致異常(重名)