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

@SessionAttribute

如果您需要访问预先存在的全局管理的会话属性(即,在控制器之外管理的,例如,通过过滤器)并且这些属性可能不存在,您可以使用@SessionAttributes注解在方法参数上,如下例所示: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

对于需要添加或删除会话属性的使用场景,请考虑将WebSession注入控制器方法中。spring-doc.cadn.net.cn

用于在控制器工作流程中将模型属性临时存储在会话中的情况,请考虑使用SessionAttributes,如在 @SessionAttributes中所述。spring-doc.cadn.net.cn