为什么我们在春季使用自定义范围?什么时候需要?

| 谁能帮助我了解自定义范围。我浏览了手册和许多在线示例,并了解了它是如何实现的。但是,我仍然不清楚为什么我们需要自定义代理,以及为什么要这样做,从而限制了bean的范围。 据我所知,对于单例-当我们希望将单个bean赋予所有引用时,我们使用singleton;而当我们希望每次引用bean时都赋予新的引用时,我们就使用原型。 现在我对自定义范围的理解是 自定义范围-我们将自定义范围用作两者之间的中间点,既不是我们每次都不想传递单个引用,也不是每次都要传递新引用。.但是,它更接近于我们每次传递相同bean的单例,仅从我们首选的位置(例如底层的threadlocal或map)开始。 请帮我弄清楚我的概念..主要问题是为什么要自定义范围?何时需要?     
已邀请:
        这实际上取决于眼前的问题。例如,您可能想创建一个特定bean的预定义数量的实例,但不要超过此数量。因此,在满足此数目之前,您将继续创建新实例,但是一旦满足此数目,便会以平衡的方式返回现有实例。 这可能适用于实例占用大量资源(例如内存)但如果使用新实例则加速应用程序的问题。因此,您可以在需要时创建可行数量的新对象,并在实例数量超出该数量时委托给现有对象(在资源利用率上降低性能)。     
        在不同的上下文中。例如-在Web应用程序中。在那里定义了两个范围-\“ request \”和\“ session \”。但是,有时这些还不够。通常需要一个“ flash”作用域(持续一个请求和随后的重定向)或“ conversation”作用域(持续一个形成会话的请求序列)。 在这种情况下,将使用自定义范围。     

要回复问题请先登录注册