[英]Core Java - Create custom AOP
我想知道AOP实际如何工作,是否有一种方法可以创建自己的AOP。 相同的步骤应采取什么步骤和最佳做法?
AOP的步骤不同,但是基础知识会自动在指定条件下执行其他操作 ,例如:
前两个示例更易于实现,因为它们涉及方法。 因此,如果这些方法是公开的,则代理机制就足够了。 第三个确实需要字节码编辑。
因此,您必须问自己的第一个问题是您的真正需求是什么。 如果您需要完全的AspectJ功能,唯一的方法就是字节码编辑。 我的建议是不要尝试重新发明轮子,而要依靠AspectJ实现
如果唯一的拦截点是公共方法调用,则可以尝试模仿基于JDK代理的Spring AOP。 它还可以使用cglib代理,这些代理更具侵入性,但功能更强大(不需要接口并且可以处理非公共方法)。
TL / DR:因此,您具有3个实现级别,从更简单/功能更弱到更强大/功能更全:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.