Dlaczego proxy nie jest używane do automatycznego przywracania
Nie mogę znaleźć żadnego powodu, dla którego każda autowredna fasola nie byłaby automatycznie przypisywana przez proxy. Wiem to, ponieważ@Transactional
adnotacje nie działają i sprawdziłam autodopasowany komponent podczas debugowania w zaćmieniu. Oczywiście każdy komponent implementuje jakiś interfejs i używam@Autowired
adnotacje dotyczące interfejsu. Mam tylko jedną konfigurację aop:
<tx:annotation-driven transaction-manager="transactionManager" />
Używam JPA z hibernacją, spring-mvc, spring-webflow, spring-security i spring-data. Interfejsy, które się rozszerzająorg.springframework.data.repository.CrudRepository
są automatycznie przydzielane przez proxy. Ale moje elementy nie są. Na przykład mam klasęMyClass
które wdrożyćMyInterface
:
@Service
public class MyClass implements MyInterface {
@Autowired
MyCrudReposiotry reposiotry;
....
}
Jeśli autowire MyInterface gdzieś:
@Autowired
MyInterface mi;
następniemi
jest tylko odniesieniem doMyClass
obiekt, repozytorium to odwołanie do proxyorg.springframework.aop.framework.JdkDynamicAopProxy
. Bardzo interesujące jest to, że w testowaniumi
jest odniesieniem do proxy. Kontekst mojego testu nie zawiera konfiguracji web-flow i mvc.
Może istnieje pośrednia konfiguracja aop, którą powinienem sprawdzić. Co można wyłączyć autowiring przez proxy?