加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 确定哪些方面挂钩到给定的类

发布时间:2020-12-15 03:05:23 所属栏目:Java 来源:网络整理
导读:是否有可能确定哪些方面挂钩到给定的类并获得对其实例的访问? 就像是: Foo foo = new Foo();ListObject aspects = getAllAspectsOf(foo); 解决方法 首先,您很可能无法使用现有的Aspect API进行任何此类监视,因为Aspect包装器拦截了调用,其特定目的是将NOT
是否有可能确定哪些方面挂钩到给定的类并获得对其实例的访问?

就像是:

Foo foo = new Foo();
List<Object> aspects = getAllAspectsOf(foo);

解决方法

首先,您很可能无法使用现有的Aspect API进行任何此类监视,因为Aspect包装器拦截了调用,其特定目的是将NOT绑定到任何一个特定组件,因此没有任何自然的方法来检测拦截方面.

也就是说 – 可能有一种方法可以将方面包含在某种策略类中,但是,维护它的工作量非常大.

http://www.eclipse.org/aspectj/doc/released/faq.php#q:benefits

方面通常被描述为“在您的其他代码之上”或“编织”,即在运行时或构建时.

http://asm.ow2.org/users.html

因此,鉴于这种方面实现的范例,您的代码通常不会“意识到”任何此类面向方面的特性.

但是,如果您想要可跟踪的方面,您可以使用标准的java和依赖注入实现一些Aspect“like”功能 – 也就是说,通过在运行时加载注入的模块来实现一个方面将实现的一些交叉功能……但是,我怀疑,如果你真的在做严肃的面向方面的代码,那么这种方法将达不到你的面向方面的要求.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读