AOP创建的自己的属性取值为null的问题
创始人
2024-09-03 08:00:20
0

要解决这个问题,可以使用ThreadLocal来存储AOP中创建的属性。代码示例如下:

public class AopAspect {

    private ThreadLocal myAttribute = new ThreadLocal<>();

    @Before("execution(* com.example.service.SomeService.doSomething(..))")
    public void beforeDoSomething() {
        myAttribute.set("AopAspect");
    }

    @AfterReturning(value = "execution(* com.example.service.SomeService.doSomething(..))", returning = "returnValue")
    public void afterReturnFromDoSomething(Object returnValue) {
        String myAttributeValue = myAttribute.get();
        // do something with myAttributeValue
        myAttribute.remove();
    }
}

@Service
public class SomeService {

    @Autowired
    private HttpServletRequest request;

    public void doSomething() {
        String requestAttributeValue = (String) request.getAttribute("myAttribute");
        // requestAttributeValue is null
    }
}

在上面的代码片段中,我们使用ThreadLocal来存储AOP中创建的属性。在beforeDoSomething()方法中,我们将属性的值设置为"AopAspect"。在afterReturnFromDoSomething()方法中,我们可以从ThreadLocal中获取AOP创建的属性值,并进一步进行处理。通过这种方式,我们可以解决通过@RequestAttribute获取AOP创建的自己的属性值为null的问题。

相关内容

热门资讯

每日必看教程!游戏茶苑辅助器,... 您好,游戏茶苑辅助器这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在这...
辅助透视!wepoker辅助器... 辅助透视!wepoker辅助器最新版本更新内容,wepoker透视版下载“关于开挂透视挂辅助神器”1...
总算了解!欢聚水鱼辅助视频,微... 总算了解!欢聚水鱼辅助视频,微信小程序边锋辅助,扑克教程(存在有开挂);亲,有的,ai轻松简单,又可...
透视苹果版!有人wepoker... 透视苹果版!有人wepoker,约局吧德州可以透视“科普开挂透视挂辅助app”;约局吧德州可以透视辅...
重大科普!四川途游小程序辅助破... 重大科普!四川途游小程序辅助破解版,微乐广西麻辣辅助器,科技教程(真的是有开挂);1、点击下载安装,...
透视黑科技!wepoker辅助... 透视黑科技!wepoker辅助真的假的,newpoker可以安装脚本“教你开挂透视挂辅助软件”new...
技术分享!兴动互娱辅助工具,随... 技术分享!兴动互娱辅助工具,随意玩辅助器视频透视挂,wpk教程(是有开挂);1、完成随意玩辅助器视频...
辅助透视!wepoker辅助器... 辅助透视!wepoker辅助器,约局吧可以看有挂“揭幕开挂透视挂辅助教程”1、金币登录送、破产送、升...
实测必看!潮友会鱼虾蟹看穿神器... 实测必看!潮友会鱼虾蟹看穿神器,微信途游有辅助,微扑克教程(真的有开挂);亲真的是有正版授权,小编(...
透视规律!wepoker代打辅... 透视规律!wepoker代打辅助机器人,wepoker免费透视“必备开挂透视挂辅助教程”1、不需要A...