春天aop表达

时间:2017-07-18 03:29:54

标签: java spring aop

这是 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的

有人可以告诉我为什么吗?什么是正确的配置?

1 个答案:

答案 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 .. **(..))