looker_good
looker_good
2018-05-29 06:41
采纳率: 100%
浏览 3.0k
已采纳

spring 函数使用切面后返回值变成空指针

一个服务的函数可以正常执行,给这个函数添加了记录流水的切面后,函数返回值变成了空指针

 @Around("point_update()")
    public void update(ProceedingJoinPoint jp) throws Throwable{

被代理的函数是有返回值的

 public ResultDto<String> update(FtUser ftUser) {
     ...

请教大佬这是为什么啊

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • looker_good
    looker_good 2018-05-29 06:57
    已采纳

    经测试,是环绕通知改变了返回值,切面方法需要有返回值,来代替被代理方法返回结果。。。(貌似是这样吧)

    点赞 评论
  • qq_30254263
    qq_30254263 2019-08-07 10:54

    @Around("point_update()")
    public Object update(ProceedingJoinPoint jp) throws Throwable{
    ...
    Object result = jp.proceed();
    ...
    return result;
    }

    点赞 评论

相关推荐