美文网首页
2018-07-06(Spring Bean的作用域)

2018-07-06(Spring Bean的作用域)

作者: acebear | 来源:发表于2018-07-06 21:51 被阅读0次

    Spring Bean的作用域,就是配置文件中的“scope”。

    在面向对象程序设计中,一般是指对象或变量之间的可见范围。而在Spring容器中则是指其创建的Bean对象相对于其他Bean对象的请求可见范围。

    在Spring容器中,一共提供了五种作用域类型:

    1、singleton:Spring IoC容器只会创建该Bean定义的唯一实例,单例模式。在Spring IoC 容器中只会存在一个共享的Bean实例,而且所有对于Bean的请求,只要Id与该Bean定义相匹配,则只会返回Bean的同一省。Bean以单实例方式存在。

    2、prototype:原型模式,每次通过容器的getBean方法获取prototype定义的Bean时,都将产生一个新的Bean实例【对于有状态的Bean,应该使用prototype;对于无状态的Bean,应该使用singleton】

    3、request:对于每次HTTP请求,使用request定义的Bean都将产生一个新实例,即每次HTTP请求将会产生不同的Bean实例。只有在Web应用中使用Spring时,该作用域才有效。

    4、session:对于每次HTTP Session,使用session定义的Bean豆浆产生一个新实例。同样只有在Web应用中使用Spring时,该作用域才有效。

    5、globalsession:每个全局的HTTP Session,使用session定义的Bean都将产生一个新实例。典型情况下,仅在使用portlet context的时候有效。同样只有在Web应用中使用Spring时,该作用域才有效。

    配置文件示例:

    在使用第3、4、5种作用域时,需要在web容器中进行一些而外的配置,因为这三种是与web应用环境相关的:

    相关文章

      网友评论

          本文标题:2018-07-06(Spring Bean的作用域)

          本文链接:https://www.haomeiwen.com/subject/rfobuftx.html