У меня есть два классаКласс не содержит соответствующий конструктор для автоматического связывания
public abstract class AbstractDAO<T> {
private final MyExecutor<T> myExecutor;
private final Class<T> clazz;
public AbstractDAO(MyExecutor<T> myExecutor, Class<T> clazz) {
this.myExecutor = myExecutor;
this.clazz = clazz;
}
}
и
@Component
public class MyDAOImpl extends AbstractDAO<Manager> {
private final SessionManager sessionManager;
private final MyExecutor<Manager> myExecutor;
@Autowired
public MyDAOImpl(SessionManager sessionManager, MyExecutor<Manager> myExecutor) {
super(myExecutor, Manager.class);
this.sessionManager = sessionManager;
this.myExecutor= myExecutor;
}
}
я получил ошибку при определении абстрактного класса говорит, что: «Класс не содержать конструктор соответствия для автопостановки ».
Все, что я сделал, добавляет дополнительный конструктор к конструктору AbstractDAO, который является классом. Мне нужно это, потому что я не нашел способа обнаружить это из T во время выполнения (поиск в стеке говорит, что его нет).
Как это исправить? Как передать информацию о классе, которая может быть определена только в классе реализации?
Большое спасибо
Это ошибка времени компиляции. Нет стека. Благодарю. – Kevin
Возможно, вы захотите прочитать: http://stackoverflow.com/questions/3153546/how-does-autowiring-work-in-spring и http://stackoverflow.com/questions/19414734/spring-autowired-usage – pedromss
Ваш код, как показано, компилируется отлично. –