学习Spring框架中的AOP的时候遇到的这个问题:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.event.internalEventListenerProcessor': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Pointcut is not well-formed: expecting 'name pattern' at character position 32
execution(*com.hwt.service.*.* (..))
网上找了半天,终于解决了,问题所在:少个空格
解决方案:在第一个*与包名之间加一个空格
错误代码:
<aop:config proxy-target-class="true">
<aop:pointcut id="myPointcut" expression="execution(*com.hwt.service.*.* (..))"/>
<aop:advisor advice-ref="myAspect" pointcut-ref="myPointcut"/>
</aop:config>
问题所在:
正确代码:
<aop:config proxy-target-class="true">
<aop:pointcut id="myPointcut" expression="execution(* com.hwt.service.*.* (..))"/>
<aop:advisor advice-ref="myAspect" pointcut-ref="myPointcut"/>
</aop:config>