Cập nhật
Kể từ khi nó xuất hiện rằng nó không thể được thực hiện trong mùa xuân (xem câu trả lời ban đầu) Tôi sẽ nói rằng bạn cần phải thêm chú thích cho từng phương pháp trên lớp thực hiện. Có một cách rõ ràng để làm điều này, nhưng tôi cho rằng nếu bạn đang tìm kiếm một cách tự động hơn, bạn sẽ cần phải viết một mình.
Tôi có thể tưởng tượng một số loại trình xử lý hậu kỳ phát triển tại nhà sẽ tìm kiếm một chú thích cụ thể, cho phép nói @ApplyThisAnnotationToAllWhoInheritMe
. Một khi nó tìm thấy chú thích này, nó sẽ quét mã nguồn để kế thừa các thành viên và thêm chú thích được yêu cầu khi cần thiết trước khi biên dịch xảy ra.
Bất kể, nếu bạn đang sử dụng Spring AOP để làm điều này, có vẻ như nó cần phải được trên phương pháp triển khai. Nếu các lớp bạn đang hy vọng điều này sẽ giúp bạn không thể kiểm soát được, bạn có thể phải viết công cụ Spring AOP của riêng bạn.
gốc trả lời
Từ Spring 3.0 Documentation:
AspectJ sau quy tắc của Java rằng chú thích trên giao diện không được thừa kế.
Tôi tìm thấy bit này trong phần 7.8.2 Other Spring aspects for AspectJ
, là một phần của 7.8 Using AspectJ with Spring applications
, khiến tôi nghĩ đây là quy tắc toàn cầu.
Nguồn
2011-08-24 16:26:18
Cảm ơn; điều đó giải thích tại sao con trỏ của tôi không hoạt động. Tuy nhiên, tôi đang tìm kiếm một công trình. :-) –
@hstoerr: Sau khi bạn chỉnh sửa câu hỏi của mình, tôi đã chỉnh sửa câu trả lời của mình. Hãy cho tôi biết nếu nó vẫn không thể chấp nhận được. –
Tài liệu hướng dẫn mùa xuân không thực sự nói rằng không thể khớp với thứ gì đó giống như những gì tôi muốn - chỉ là cách tiếp cận đơn giản mà tôi đã thử không hoạt động. Có thể có một số điều kỳ lạ mà người ta có thể làm trong Aspectj mà tôi không thể nghĩ ra. Vì vậy, tôi vẫn hy vọng. :-) –