我可以以某种方式将一组注释分组到一个抽象类上,并且扩展该类的每个类都自动分配了这些注释吗?

至少以下情况不起作用:

@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都没有。

08-28 17:29