主要有Singleton(单实例),Prototype(多实例),在Web应用中还有Request,Session,GlobalSession作用域
1,Singleton(默认作用域)
在Spring容器中只有一个Bean实例,在配置文件中通过ref引用注入,及通过getBean(id)方式调用,返回的都是同一个Bean的实例。
Spring容器在启动时,会自动实例化所有Singleton的Bean,并缓存与容器中。
- Prototype
在Spring容器中可以存在多个作用域为Prototype的Bean,每次从容器中通过getBean(id)的方式调用Bean,返回的对象都不是同一个;在配置文件中通过ref引用时,返回的也不是同一个Bean。
即每次对 Bean的调用,都会进行一次实例化。
Spring容器在启动时不会自动实例化prototype作用域的Bean。