这是 applicationContext.xml AOP部分:
<bean id="logHandler" class="demo.anderson.aop.LogHandler"></bean>
<aop:config>
<aop:aspect id="log" ref="logHandler">
<aop:pointcut id="addLog" expression="execution(* demo.anderson.controller.StudentController.*(..)) || execution(* demo.anderson.controller.ScoreController.*(..))" />
<aop:before method="beforeLog" pointcut-ref="addLog" />
<aop:after method="afterLog" pointcut-ref="addLog" />
</aop:aspect>
</aop:config>
它在工作!
但是当我配置aop:这样的切入点:
<aop:pointcut id="addLog" expression="execution(* demo.anderson.controller.*.*(..))" />
它坏了:
2017年7月18日11:06:39.416严重[http-nio-8090-exec-71] org.apache.catalina.core.StandardContext.listenerStart异常 将上下文初始化事件发送到类的侦听器实例 org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean &#39; org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0&#39 ;: bean的初始化失败;嵌套异常是 java.lang.IllegalStateException:预期的原始类型形式 org.springframework.web.servlet.handler.AbstractHandlerMethodMapping $匹配 .................................................. ...........引起 by:java.lang.IllegalStateException:预期的原始类型形式 org.springframework.web.servlet.handler.AbstractHandlerMethodMapping $匹配 .................................................. ...........
2017年7月18日11:06:39.434资讯[http-nio-8090-exec-71] org.apache.catalina.core.ApplicationContext.log关闭Spring root WebApplicationContext的
有人可以告诉我为什么吗?什么是正确的配置?
答案 0 :(得分:0)
<aop:pointcut id="addLog" expression="execution(* demo.anderson.controller..*.*(..))" />
来自春季文档。
https://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html
执行服务包或子包中定义的任何方法:
执行(* com.xyz.service .. *
。*
(..))