Por que o proxy não é usado para autowire

Não consigo encontrar qualquer razão para que cada bean autowired não seja autowired por proxy. Eu sei disso porque@Transactional as anotações não funcionam e eu verifiquei o componente autowired durante a depuração no eclipse. É claro que todo componente implementa alguma interface e eu uso@Autowired anotações em relação à interface. Eu tenho apenas uma configuração de aop:

<tx:annotation-driven transaction-manager="transactionManager" />

Eu uso o JPA com hibernate, spring-mvc, springflowsflow, spring-security e spring-data. Interfaces que se estendemorg.springframework.data.repository.CrudRepository são autowired por proxy. Mas meus componentes não são. Por exemplo eu tenho classeMyClass que implementamMyInterface:

@Service
public class MyClass implements MyInterface {
@Autowired
MyCrudReposiotry reposiotry;
....
}

Se eu autowire MyInterface em algum lugar:

@Autowired
MyInterface mi;

entãomi é apenas referência aMyClass objeto, repositório é refrence para proxyorg.springframework.aop.framework.JdkDynamicAopProxy. Muito interessante é que nos testesmi é referência ao proxy. O contexto do meu teste não contém configuração de fluxo da web e mvc.

Talvez haja alguma configuração indireta que eu deveria verificar. O que pode desativar a autowiring por proxy?

questionAnswers(2)

yourAnswerToTheQuestion