Может кто-нибудь объяснить разницу между this()
и target()
pointcuts в аспекте. Я попытался найти это в другом месте, но, похоже, нет четкого ответа. Thank YouЭтот() против Target() aspectj
ответ
В подходящей точке соединения this()
является объектом, в котором вы находитесь, target()
- объект, который вы вызываете/ссылаетесь. Путаница может возникнуть из-за того, что в случае совпадения pointcut execution()
в точке соединения они являются тем же самым: объект, содержащий точку соединения выполнения, которая совпадает с объектом, на котором выполняется соответствующий метод. Но в случае точки соединения call()
они различны. Объект, который он вызывает, отличается от объекта, на который вызывается метод.
class A {
public void m() {
B b = new B();
b.n();
}
}
class B {
public void n() {
}
}
Для этой установки, срез точки execution(* m(..))
будет совпадать с точкой соединения A.m()
и имеет this()
типа А и target()
типа А (и они будут таким же экземпляром A). Однако pointcut call(* n(..))
будет совпадать на сайте вызова в методе A.m()
, где он вызывает n()
, и в этот момент this()
будет экземпляром A, делающим вызов, тогда как target()
будет экземпляром B, к которому вызывается метод.
- 1. AspectJ: Что означает этот код?
- 2. AspectJ весной: CTW против LTW
- 3. AspectJ ткачество в jar против рефлексивных звонков
- 4. Spring AOP: подход Xml против AspectJ
- 5. AspectJ: target vs pattern для выбора методов в классе
- 6. AspectJ: VerifyError
- 7. AspectJ Таблица аннотацию выдает
- 8. jQuery target target repitition
- 9. Spring AOP vs AspectJ
- 10. Чтение и понимание AspectJ pointcuts?
- 11. AspectJ компиляция с maven throws java.lang.NoClassDefFoundError: org/aspectj/bridge/IMessageHolder
- 12. maven aspectj weaving NullPointerException
- 13. AspectJ с Spring Security
- 14. Android Api Level: Target Model против минимума манифеста
- 15. AspectJ + Junit + Maven + Java8
- 16. модернизация AspectJ + Spring + Gradle
- 17. target = "_blank" vs. target = _blank
- 18. target = "_ blank" vs. target = "_ new"
- 19. F # PowerPack Target Runtime
- 20. AspectJ и Maven
- 21. AspectJ OR Operator не работает
- 22. grails aspectJ byteecode weaving
- 23. AspectJ - Сомнение
- 24. AspectJ staticinitalization
- 25. CodeSignature aspectJ
- 26. Learning AspectJ
- 27. AspectJ Декомпиляция
- 28. AspectJ проблема
- 29. AspectJ весной
- 30. AspectJ performance