现在的位置: 首页 > 综合 > 正文

关于spring的ThrowsAdvice

2013年09月09日 ⁄ 综合 ⁄ 共 786字 ⁄ 字号 评论关闭

采用什么平台开发项目着实让我们晕了好一阵子,先是EJB3,但是听说WAS对EJB3的支持才刚刚开始(去年十二月才推出正式的Feature pack),国内还没有案例,也没有培训,更加没有技术支持 ,老板自然不乐意了。只好无奈的换成EJB2,尽管都不太想学,但也勉强看了几天书,突然又说要用spring,吐血中.......不过怎么也比EJB2强了,马不停蹄借来 廖雪峰写的《spring2.0 核心技术与最佳实践》,是网上盛传的一本好书。看完之后对比一下老罗的《精通spring2.0》,思路是比较清晰,适合初学者(“精通”系列的噩梦???)

不过好书也是有瑕疵的,今天就让我逮着了一个,关于SPRING的AOP

aop的一个切面接口是 ThrowsAdvice,这是个标记接口,里面没有定义任何方法。书上说,根据spring文档,必须定义一个 afterThrowing([Method, args, target], subclassOfThrowable) 形式的方法,前面三个参数可选,也就是你可以写成 afterThrowing( args, target, subclassOfThrowable) ,也可以写成 afterThrowing( target, subclassOfThrowable) 

事实上如果真的这么做,运行时会抛出 At least one handler method must be found in class 形式的异常。在确认自己没有打错字之后,只好去查spring2.0的手册,才发现上面是这么说的:方法可以有一个或四个参数。 也就是说,不能有两个、三个参数,方法的形式只能有两种: afterThrowing([Method, args, target], subclassOfThrowable)  或者 afterThrowing( subclassOfThrowable) 

看来老廖也疏忽了~

抱歉!评论已关闭.