Spring中支持几种作用域
Spring容器中的bean可以分为5个范围:
prototype:为每一个bean请求提供一个实例。
singleton:默认,每个容器中只有一个bean的实例,单例的模式由BeanFactory自身来维护。
request:为每一个网络请求创建一个实例,在请求完成以后,bean会失效并被垃圾回收器回收。
session:与request范围类似,确保每个session中有一个bean的实例,在session过期后,bean会随之失效。
global-session:全局作用域,global-session和Portlet应用相关。当你的应用部署在Portlet容器中工作时,它包含很多portlet。如果你想要声明让所有的portlet共用全局的存储变量的话,那么这全局变量需要存储在global-session中。全局作用域与Servlet中的session作用域效果相同。
ApplicationContext通常的实现是什么?
FileSystemXmlApplicationContext :此容器从一个XML文件中加载beans的定义,XML Bean配置文件的全路径名必须提供给它的构造函数 ApplicationContext context=new
FileSystemXmlApplicationContext("bean.xml");
ClassPathXmlApplicationContext:从classpath的XML配置文件中读取上下文,并生成上下文定义。应用程序上下文从程序环境变量中 ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
WebXmlApplicationContext:由Web应用的XML文件读取上下文。