작동하지 않습니다 인터페이스에 포인트 컷 , TransactionAspect
이 예상대로 작동합니다. 그러나 주석이 인터페이스에 있으면 작동하지 않습니다. 정상적인 행동인가, 아니면 내가 잘못하고있는 것이 있습니까?AspectJ를 봄으로 봄에 측면을 구성
1
A
답변
2
메소드의 어노테이션은 Java의 서브 클래스 또는 구현 클래스에 상속되지 않습니다. 이것은 그것이 효과가없는 이유를 설명 할 수 있습니다. 구현 메서드가 해당 인터페이스에서 주석을 상속 받았다고 기대할 수도 있지만 이는 사실이 아닙니다.
업데이트 : 여러 번 전에이 질문에 대답했기 때문에, 방금 문제도 Emulate annotation inheritance for interfaces and methods with AspectJ에서 해결 방법을 문서화했다.
0
이 작업을 수행하려면 Java 기반 구성의 경우 @EnableAspectJAutoProxy(proxyTargetClass=true)
또는 xml 기반 구성의 경우 <aop:config proxy-target-class="true"></aop:config>
과 같이 aop 구성에 proxyTargetClass=true
을 추가해야합니다. 이 방법으로 spring aop은 프록시를 강제로 추가합니다.
관련 문제
- 1. 로드 타임 짠 측면을 열거 하시겠습니까? AspectJ를 사용
- 2. 봄으로 자리 표시자를 해결할 수 없습니다.
- 3. AspectJ를 외부 항아리
- 4. 는 스프링 AOP 나 AspectJ를
- 5. @DateTimeFormatter 내 SQL 봄으로 부팅
- 6. 부모는 AspectJ를
- 7. 내가 AspectJ를
- 8. AspectJ를 staticinitalization
- 9. JaCoCo와 AspectJ를
- 10. AspectJ를 주석
- 11. aspectJ를 사용하여 SwingWorker 예외 처리
- 12. 최대 절전 모드 구성 파일과 마찬가지로 봄에 데이터베이스 구성
- 13. AspectJ를 표 주석이
- 14. java 감사 로그 aspectj를 사용하는 모든 메소드
- 15. 바람둥이와 봄으로 http 503 상태를 시뮬레이트합니다.
- 16. 작업 공간의 모든 프로젝트에 AspectJ를 적용하는 방법
- 17. jsp에서 aspectj를 호출 할 수 없음
- 18. 라이브러리 프로젝트 및 AspectJ를 사용하는 Android 3.0 용 Maven 구성
- 19. XCODE의 다양한 측면을 배우십시오.
- 20. PostSharp - 다른 측면을 깰
- 21. PHP로 페이지의 측면을 변경하십시오.
- 22. AspectJ를 사용하여 엔티티 확장하기
- 23. AspectJ를 : autowire가 필드 Initbinder
- 24. AspectJ를 내가이 주석 정의한
- 25. 봄에 java.xml.transform.transformer를 구성하는 방법
- 26. 봄에 dev 모드 MVC
- 27. 봄에 콩을 동적으로 생성
- 28. 봄에 Autowire
- 29. 봄에 속성 파일을 순서대로로드하십시오.
- 30. application.propreties는 봄에 무시됩니다.
관련된 질문으로, 저는 서비스 인터페이스에'@Transactional '주석을 달았고 모든 구현 메소드는 자체 트랜잭션으로 실행됩니다. 그러나 주석이 상속되지 않는다면 어떻게 가능합니까? – ilopezluna
메소드 *의 주석 *은 상속되지 않는다고 말했습니다. 클래스에는 클래스에 대해 작동하는 ['Inherited' 메타 어노테이션] (http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Inherited.html)이 있지만 인터페이스를 구현하는 클래스가 상속하지 않습니다. ['@ Transactional'은'@ Inherited' (http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/transaction/annotation/Transactional.html)이지만 수퍼 클래스에서 아강. 인터페이스와 함께 작동하는 경우, 이것은 Spring AOP 기능인 것 같습니다. – kriegaex