可以继承@Repository注释吗?
我可以创建一个
@Repository
public abstract class BaseRepository {
}
然后在不指定@Repository注释的情况下扩展它?
public class MyRepository extends BaseRepository {
}
我如何知道是否可以继承注释?
答案 0 :(得分:6)
没有。 documentation about stereotypes对此一无所知。
另外,想象一下当您指定名称@Repository("foo")
时的情况 - 然后每个子类将被命名为foo
,这将导致异常(重复的名称)
答案 1 :(得分:6)
请参阅http://www.docjar.com/html/api/org/springframework/stereotype/Repository.java.html
没有@Inherited注释,因此它不会被继承。
答案 2 :(得分:2)
默认情况下,子类不会继承注释,除非使用@Inherited注释自己(请参阅下面的James Kingsbery的注释),即使这样,只有在类级别使用它们时才会注释。 @Repository-annotation本身未使用@Inherited进行注释(我从代码中检查过),因此您必须单独注释子类。