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