java在方法返回之前执行钩子代码

java在方法返回之前执行钩子代码,java,observer-pattern,Java,Observer Pattern,我希望在方法返回之前运行post钩子。应该可以在不修改现有代码的情况下向任何方法添加钩子。有没有一种工具或技术可以帮助实现这一点?javassist是这里的候选者吗?如果是,如何将参数传递给钩子?理想情况下,无论方法返回什么,都应该作为参数传递给钩子 是的,这种技术叫做字节码工程。有几种流行的工具。最著名的高级工具是AspectJ 然而,还有一些较低级别的工具,如CGLIB、javassite、BCEL 您可能想看看aspectj:这回答了这个问题。非常感谢。经过评估,我们决定基于以下几个因素使

我希望在方法返回之前运行post钩子。应该可以在不修改现有代码的情况下向任何方法添加钩子。有没有一种工具或技术可以帮助实现这一点?javassist是这里的候选者吗?如果是,如何将参数传递给钩子?理想情况下,无论方法返回什么,都应该作为参数传递给钩子

是的,这种技术叫做字节码工程。有几种流行的工具。最著名的高级工具是AspectJ


然而,还有一些较低级别的工具,如CGLIB、javassite、BCEL

您可能想看看aspectj:这回答了这个问题。非常感谢。经过评估,我们决定基于以下几个因素使用自定义钩子框架:1)传递任意钩子参数的可能性,2)在任意点添加钩子的可能性,3)触发钩子的客户端代码也在开发中-因此可以通过修改代码来添加钩子。钩子框架的设计是这样的,它可以在以后使用aspects/javaassist进行扩展,以便在不修改客户端代码的情况下引入钩子。它非常坚固,希望能满足您的所有要求。