我有以下要求:在每个方法之前,我需要执行一些设置,并且在每个方法之后,我需要执行一些清理。例如,在执行每个方法之后,我需要在SQL Server中转储日志。
如何为此类重复性任务创建自定义注释?
请注意,由于某些设计考虑因素,我无法在我的应用程序中使用JUnit。
答案 0 :(得分:2)
听起来你正在尝试重建春天方面,请看:
http://docs.spring.io/spring/docs/2.0.x/reference/aop.html
但是,您可能觉得添加对spring的依赖太大了,您可以考虑只依赖于aspectj:
http://www.eclipse.org/aspectj/
作为最后一种选择,你可以让你的类实现一个接口,然后写一个"包装器"该接口的实现,仅包装另一个实现,并在逻辑之前/之后执行。到目前为止,这是最简单的方法,而且我一直这样做。
最后一种选择是使用duck typed proxy:
http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Proxy.html
但是,我不建议这样做。
另一方面,我从未听说过一个不能容纳junit或某种测试框架的项目。如果您不打算编写单元测试,那么编写大型应用程序的时间会非常艰难。