我有一个相当大的企业应用程序,我打算编写一个适用于应用程序中所有类的方法拦截器。我知道我可以使用 Guice 来编写此类拦截器,但是,这种方法只有在包含要拦截的方法的目标对象是由 Guice ( reference ) 创建的情况下才有效。
有没有一种方法可以创建这样的拦截器?我不想注入(inject)拦截器模块,因为我无法通过 injector.getInstance()
在站点范围内控制对象创建。
顺便说一句,该应用是基于 Play 构建的!框架。
最佳答案
你需要 aspectj https://eclipse.org/aspectj/
摘自项目主页:
“Aspectj 支持横切关注点的干净模块化,例如错误检查和处理、同步、上下文相关行为、性能优化、监视和日志记录、调试支持和多对象协议(protocol)”
编辑: 您还可以查看 JDK 5 中引入的 java 代理:
http://javahowto.blogspot.com.cy/2006/07/javaagent-option.html
关于java - Java 中的应用程序范围的方法拦截器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32593886/