spring - 何时使用 Spring Prototype、Request 和 Session 范围?任何现实生活中的例子

标签 spring spring-boot spring-mvc spring-security spring-data

我想知道什么时候应该在 Spring 中使用 prototyperequestsession 作用域?我知道如果请求 bean,singleton 将返回相同的对象实例。

那么我们为什么要考虑其他 Spring 作用域呢?

带有示例的解释将有助于理解它的必要性。

最佳答案

以下是 Spring bean 作用域的解释以及相关示例:

原型(prototype)

什么->每次为每个请求提供不同的实例
当->你的bean包含一个你想要保持隔离的状态(即对象属性),并且你想要确保它不会在下一个请求时被重新使用

请求

什么->它每次为每个 HTTP 请求提供不同的实例,仅在 Web 应用程序的上下文中可用
当 -> 你的 bean 对传入实体(即 Product 对象)进行建模时,你需要在该 Web 请求中捕获并处理该实体

session

什么->它为每个 HTTP session 提供不同的实例,仅在 Web 应用程序的上下文中可用
当本地缓存与特定用户(例如 ShoppingBasket 或 UserSession)关联时,您通常将其称为有状态应用程序

关于spring - 何时使用 Spring Prototype、Request 和 Session 范围?任何现实生活中的例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59926969/

相关文章:

java - Kafka Producer - Spring Boot应用程序 - 无法生成消息

java - 带有main方法的spring3注解

java - 将查询转换为 java jdbc 模板中的参数化准备语句

java - 为什么我的 Spring Boot starter 没有将它的依赖项带到项目中?

spring - 在 Spring Boot Actuator 中为/health 端点启用 CORS

java - Spring-Websocket:满足条件时向订阅者发送更新

java - 在 Spring MVC 应用程序属性文件中使用阿拉伯字符串

java - 如何在 Spring mvc 中使用新的 httpstatus 代码进行响应

java - 为什么正确导入后仍无法解析注释?

由于未加载 applicationContext.xml,Spring 多模块无法使用 m2eclipse 构建进行部署