今天搞搞 SessionScope,这玩意儿还挺有意思,分享一下我的实践过程。
我也不太清楚这东西具体咋用,就上网查查。大概知道 SessionScope 就是说,在整个会话期间,某个东西都是有效的。就像你开着浏览器,只要不关,或者不闲着太久(一般是30分钟),这个东西就一直存在。
我寻思这玩意儿能干啥? 后来我想到,可以用它来做用户隔离。 比如说,一个用户一个实例,这样不同用户之间的数据就不会搞混。
开搞!
我先准备一个类,然后给它加上 @SessionScope
这个注解。
// 假设这是个用户服务类
@SessionScope
public class UserService {

// ... 这里面放一些用户相关的数据和操作 ...
然后,我在另一个类里用这个 UserService
。
@Service

public class MyService {
@Autowired
private UserService userService;
// ... 使用 userService 做一些事情 ...
接下来就是见证奇迹的时刻!
- 我先用 Edge 浏览器打开一个页面,访问我的应用。
- 然后,我又用 Edge 浏览器打开另一个页面,再次访问我的应用。
我发现,这两个页面里的 UserService
实例是不一样的! 也就是说,每个页面都有自己独立的 UserService
实例,它们互不干扰。 这就实现我想要的用户隔离效果。
我感觉这个 SessionScope
还是挺有用的, 以后在做 Web 应用的时候, 可以考虑用它来管理一些需要在会话期间保持状态的东西。
除 SessionScope
,还有其他的 Scope, 像 RequestScope
、ApplicationScope
,以后有机会再慢慢研究。
免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。