gpt4 book ai didi

java - 我正在 AspectJ 中搜索特定切入点

转载 作者:行者123 更新时间:2023-12-01 12:02:14 25 4
gpt4 key购买 nike

行:

test.address.postal_code = "12345";

将产生如下流程:

before-get test.address
return test.address
after-get test.address
before-set test.address.postal_code
set postal_code
after-set test.address.postal_code

在 AspectJ 中。是否有一个切入点将以 test 作为目标(例如 before-get test.adddres 和 after-get test.address),但会在“after-set test.address.postal_code”之后发生?

最佳答案

不,因为您的代码行相当于:

Object address = test.address;
address.postal_code = "12345";

即两个字段访问(首先读取,然后写入)依次完成。像你以“流畅”的方式链接它们只是语法糖。顺便说一句,如果你的 Test 类可以直接访问 Address 成员,那么无论如何你都有封装问题,但这只是个人评论。

如果您想知道该地址是否已分配给另一个类的成员,您需要在方面中保留状态,这是可能的,但有点脏。也许您想更改应用程序设计,而不是用一些老套的方面来修补糟糕的设计。 ;-)

关于java - 我正在 AspectJ 中搜索特定切入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27907256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com