Spring管理的bean是根据scope来生成的,表示bean的作用域,共4种。默认是singleton.
- singleton : 单例,表示通过IoC容器获取的bean是唯一的。
- prototype : 原型,表示通过IoC容器获取的bean是不同的。
- request : 请求,表示在一次HTTP请求内有效。
- session : 会话,表示在一个用户会话内有效。
request和session只适用于Web项目,大多数情况下,使用单例和原型较多
prototype 模式当业务代码获取IoC容器中的bean时,Spring才去调用无参构造创建对应的bean.
singleton模式无论业务代码是否获取IoC容器中的bean,Spring在加载spring.xml时就会创建bean.