@Autowire strange problem

Eu tenho um comportamento estranho ao autowiring

Eu tenho um código semelhante como este, e funciona

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

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

O problema é que eu preciso que o Class2 implemente uma interface, então apenas alterei o Class2, para que agora seja como:

@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);
}

com este código eu recebo umorg.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type for Class2. Parece que@Transitional anotação não é compatível com a interface, porque se eu remover o@Transitional anotação ou oimplements IServiceReference<Class3, Long> o problema desaparece e o feijão é injetado (embora eu precise dos dois desta classe). Também acontece se eu colocar a anotação@Transitional nos métodos em vez de na classe.

Eu uso o Spring 3.0.2 se isso ajudar.

A interface não é compatível com o método transacional? Pode ser um bug da Primavera?

questionAnswers(3)

yourAnswerToTheQuestion