关于springMVC 使用aop监测时间问题

J2EE 码拜 8年前 (2017-05-05) 2110次浏览
本人需要用aop去统计service 的运行时间  用的是springMVC
配置文件里自动扫描是到controller 本人该怎么在aop里去找到service
关于springMVC 使用aop监测时间问题
关于springMVC 使用aop监测时间问题
解决方案

40

引用:
Quote: 引用:
Quote: 引用:
Quote: 引用:

不是用切入点表达式配置吗?

@Around(“execution (* com.***.***.service(..))”)
是这个表达式么
本人这个表达式会报错啊
网上查阅的结果是要改成这个
execution(* org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(..))
说是原因是controller注解的类,都被这个org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter给代理了。
改了之后确实不会报错 项目正常启动  但是也不会执行这个计时

execution(* 包名.service名.方法名(..))。在xml配置扫描和<aop:aspectj-autoproxy></aop:aspectj-autoproxy>就可用了

你这本人试过  会报错
本人现在把计时类里的表达式改成了这个
@Around(“within(com.***.***.service.logon.*Service)”)
这样是可用的  但是这么做只能监控到本人service下logon包下的全部service  怎么改可以监控到service包下全部的servie  而不是非要精确到service包下 某个包中的方法

本人用eclipse试过本人这个没问题的。
你可以使用例如:

execution(* com.test..*(..))

表示匹配com.test包和其子孙包下全部类的全部方法。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于springMVC 使用aop监测时间问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)