读书人

Pointcut命名有可能导致异常

发布时间: 2012-11-05 09:35:12 作者: rapoo

Pointcut命名有可能导致错误
使用Spring @AspectJ方式的AOP,代码

@Around("get(id)")java.lang.IllegalArgumentException: Pointcut is not well-formed: expecting 'name pattern' at character position 6

?翻阅文档发现问题所在:

写道其他的切入点类型

完整的AspectJ切入点语言支持额外的切入点指定者,但是Spring不支持这个功能。 他们分别是call, initialization, preinitialization,staticinitialization, get, set, handler, adviceexecution, withincode,cflow, cflowbelow, if, @this 和 @withincode。 在SpringAOP中使用这些指定者将会导致抛出IllegalArgumentException异常。

Spring AOP支持的切入点指定者可能在将来的版本中得到扩展,不但支持更多的AspectJ 切入点指定者(例如"if"),还会支持某些Spring特有的切入点指定者,比如"bean"(用于匹配bean的名字)。
?所以在使用spring AOP的时候不能以上面的诸如call,get等命名,不然就会报异常。

读书人网 >软件架构设计

热点推荐