网上有很多,就是这几种,但是没看见说应用场景的。以下是个人理解:默认单例就是为了方便管理和类的频繁创建销毁,所以按照这个思想:
名字 | 理解 |
---|---|
singleton | 默认就是这个。静态变量好好用,初始化创建,唯一 |
prototype | 原型作用域,每一次的依赖查找和依赖注入都会生成新的bean对象 |
request | 将SpringBean存储在ServletRequest上下文中,(基本用不到的类用这个,应该没问题) |
session | 将SpringBean存储在HttpSession上下文中(一般点的) |
application | 将SpringBean存储在ServletContext上下文中(这个,应该项目都是一个web一个ServletContext一个BeanFactory吧) |
所以我感觉按持久:application>singleton>session>request,所以不常用就反过来创建
prototype这个不好说