В моем проекте есть общий базовый класс, который распространяется на все классы клиентов. Это поле @Autowired, которое должно быть введено Hibernate. Все они группируются в другом классе, который имеет @Autowired коллекцию базового класса.
Чтобы уменьшить шаблон для клиентского кода, я пытаюсь получить @Component в наследство. Если @Component не делает этого по умолчанию (видимо он использовал, хотя), я создал эту обходную аннотацию
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Component
@Inherited
public @interface InheritedComponent {
}
... и аннотировал базовый класс с ним. Это не очень, но я надеялся, что это сработает. К сожалению, этого не произошло, что меня действительно смущает, поскольку @Inherited должен заставить его работать
Есть ли другой способ получить @Component в наследство? Или я просто должен сказать, что любой класс, который расширяет базовый класс, нуждается в этом шаблоне?