对于最新稳定版本,请使用Spring Framework 7.0.1spring-doc.cadn.net.cn

@SessionAttribute

如果你需要访问全局管理的预先会话属性(即控制器外部——例如通过过滤器管理)且可能存在也可能不存在,你可以使用@SessionAttribute方法参数上的注释,如下示例所示:spring-doc.cadn.net.cn

@GetMapping("/")
public String handle(@SessionAttribute User user) { (1)
	// ...
}
1 @SessionAttribute.
@GetMapping("/")
fun handle(@SessionAttribute user: User): String { (1)
	// ...
}
1 @SessionAttribute.

对于需要添加或移除会话属性的用例,可以考虑注入网络会话进入控制器方法。spring-doc.cadn.net.cn

对于会话中作为控制器一部分的模型属性的临时存储工作流程,考虑使用Session属性,如描述@SessionAttributes.spring-doc.cadn.net.cn