@Autowire странная проблема

У меня странное поведение при автопроводке

У меня есть подобный код, как этот, и он работает

@Controller
public class Class1 {
    @Autowired
    private Class2 object2;
    ...
}

@Service
@Transactional
public class Class2{
   ...
}

Проблема в том, что мне нужно, чтобы Class2 реализовал интерфейс, поэтому я изменил только Class2, так что теперь он выглядит так:

@Controller
public class Class1 {
    @Autowired
    private Class2 object2;
    ...
}

@Service
@Transactional
public class Class2 implements IServiceReference<Class3, Long>{
   ...
}

public interface IServiceReference<T, PK extends Serializable> {
    public T reference(PK id);
}

с этим кодом я получаюorg.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type for Class2, Кажется, что@Transitional аннотация не совместима с интерфейсом, потому что если я удаляю@Transitional аннотация или яmplements IServiceReference<Class3, Long> проблема исчезает и бин вводится (хотя мне нужно иметь оба в этом классе). Бывает и так, если я поставлю аннотацию@Transitional в методах, а не в классе.

Я использую Spring 3.0.2, если это помогает.

Не совместим ли интерфейс с транзакционным методом? Может ли это быть весенняя ошибка?

Ответы на вопрос(3)

Ваш ответ на вопрос