gpt4 book ai didi

java - 使用 session 作用域 Bean

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:41:09 26 4
gpt4 key购买 nike

以下代码返回空值:

AController.java

private MyAppUser getMyAppUser(HttpSession session) {
MyAppUser myAppUser = (MyAppUser) session.getAttribute("myAppUserManager");
return myAppUser;
}

我也试过这个:

AController.java

@Autowired
MyAppUser myAppUser;

尽管我的上下文中有以下内容:

<bean id="myAppUserManager" class="com.myapp.profile.MyAppUser" scope="session"/>

这对我来说没有任何意义,“myAppUser”bean 是一个绝对不能为 null 的 bean,我需要能够从 Controller 引用它,我不需要在服务或存储库中使用它,只是 Controller ,但它似乎并没有存储在 session 中,用例非常简单,但我一直无法弄清问题所在,也没有想出一个好的解决方法

最佳答案

Session-scoped beans 在 session 中不可用。 Spring 管理它们,并将它们存储在 session 中,但不是以您可以手动将它们取出的方式。

如果你想使用作用域 bean,你可以将它连接到你的其他 bean 中,就像任何其他 bean 一样。不过,有些事情需要注意 - 请参阅 here .本质上,如果您想将 session 范围的 bean A 连接到 bean B,那么 bean B 也必须是 session 范围的(或请求范围的),除非您使用范围代理 - 请参阅前面的链接有关如何执行此操作的信息。

关于java - 使用 session 作用域 Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3001114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com