我可以以某种方式将一组注释分组到一个抽象类上,并且扩展该类的每个类都自动分配了这些注释吗?
至少以下情况不起作用:
@Service
@Scope(value = BeanDefinition.SCOPE_PROTOTYPE)
class AbstractService
class PersonService extends AbstractService {
@Autowired //will not work due to missing qualifier annotation
private PersonDao dao;
}
最佳答案
答案是:否
除非注释类型具有@Inherited元注释,否则它不会继承Java注释:https://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Inherited.html。
Spring的@Component
注释does not have @Inherited on it,因此您需要将注释放在每个组件类上。 @ Service,@ Controller和@Repository都没有。