问题:
在介绍IoC容器最顶级接口BeanFactory的时候,可以看到isSingleton和isPrototype两个方法。其中,isSingleton方法如果返回true,则Bean在IoC容器中以单例存在,这也是Spring IoC容器的默认值;如果isPrototype方法返回true,则当我们每次获取Bean的时候,IoC容器都会创建一个新的Bean,这显然存在很大的不同,这便是Spring Bean的作用域的问题
解答:
在一般的容器中,Bean都会存在单例(Singleton)和原型(Prototype)两种作用域,Java EE广泛地使用在互联网中,而在Web容器中,则存在页面(page)、请求(request)、会话(session)和应用(application)4种作用域。对于页面(page),是针对JSP当前页面的作用域,所以Spring是无法支持的。为了满足各类的作用域,在Spring的作用域中就存在如表3-1所示的几种类型。
结果:可以使用==,来测试是否是同一个类。