怎么切才能切得好

自己正在写一个轻量的AOP工具,目的就是在没有Spring或者其他AOP框架的情况下也能得到AOP服务。原理当然是基于Java的动态代理,但是大家都知道这个要运作起来的前提是需要有Interface,也就是需要被增强(无论是前置后置还是环绕性的)的方法必须是在一个接口中申明了的。
这样问题就来了,如果我要对我的领域模型对象的方法进行增强,我就需要为这些对象重新写接口(在领域建模的时候我没有写接口的),这样的话好像违反了POJO原理,而且感觉为每一个业务对象写接口好像本末倒置了(正常情况下应该是规定好了接口,然后才实现之)。是不是应该切在Action层而不是Service层才对?
不知道Spring中是怎么实现的,请了解的朋友说明一下


另外一个问题,不知道有没有人采用aopalliance来写aop
其中MethodInvocation中的proceed()方法是将处理向下发送到下一个MethodInterceptor,但是API中并没有给出如果将MethodInterceptor的集合跟MethodInvocation关联(或者叫注册)的方法,一个MethodInvocation如果知道这个切入点上有哪些增强处理或者下一个增强是谁呢?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章