诚实的码农 2018-07-07 14:49 采纳率: 100%
浏览 1663
已采纳

关于spring中AOP切入点表达式问题

    @Before("execution(* xxx.controller..*(..)")
    public void logController2(){
        System.out.println("控制层注入");
    }

    @Before("within(xxx.service..*)")
    public void logService(){
        System.out.println("业务层注入");
    }
不知道为什么后一个within在容器启动时就会调用10次左右,![图片说明](https://img-ask.csdn.net/upload/201807/07/1530974872_839802.png),
然后调用一次service请求也会调用它好多次,正常对我这个程序而言应该只有两次才对,而上一个execution则是正常的,如果我不使用注解使用xml配置那么within则可以正常使用,真是郁闷,我新手,搞不懂为什么.!![图片说明](https://img-ask.csdn.net/upload/201807/07/1530974914_642651.png)请大神帮忙看一下


//补充一下,我的问题是为什么使用within(..*)以后会出现调用切面很多次的原因,不是问使用的格式!然后新发现使用@Around环绕使用within指定service直接所有service接口报错-说什么关于接口“xxx”的静态初始化不支持编译器限制的错误.
  • 写回答

5条回答 默认 最新

  • 200公斤的孩子 2018-07-24 02:49
    关注

    之前在对controller使用aop的时候,在controller中使用了@initbinder注解,也造成的一个请求多次进入切点方法的情况。你可以参考一下这种情况的解决方案

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料