我有一个非常大的企业应用程序,我计划编写一个适用于应用程序中所有类的方法拦截器。我知道我可以使用Guice来编写这样的拦截器,但是,只有当包含要拦截的方法的目标对象由Guice(reference)创建时,此方法才有效。
有没有办法可以创建这样的拦截器?我不想注入拦截器模块,因为我无法通过injector.getInstance()
站点范围控制对象创建。
顺便说一下,该应用程序是基于Play构建的!框架。
答案 0 :(得分:1)
您需要aspectj https://eclipse.org/aspectj/
取自项目主页:
" Aspectj支持横切关注点的清晰模块化,例如错误检查和处理,同步,上下文敏感行为,性能优化,监视和日志记录,调试支持和多对象协议"
编辑: 您还可以查看JDK 5中引入的java代理:
http://javahowto.blogspot.com.cy/2006/07/javaagent-option.html