Spring作用域和BeenFactory

2020-02-17 16:06:22来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Spring作用域和BeenFactory

1、Spring Bean实例作用域:

① singleton:   IOC容器仅创建一个Bean实例,IOC容器每次返回的是同一个Bean实例。

② prototype:   IOC容器可以创建多个Bean实例,每次返回的都是一个新的实例。

③ request:  该属性仅对HTTP请求产生作用,每次HTTP请求都会创建一个新的Bean,适用于WebApplicationContext环境。

④ session:  该属性仅用于HTTP Session,同一个Session共享一个Bean实例。不同Session使用不同的实例。

⑤ global-session:该属性仅用于HTTP Session,同session作用域不同的是,所有的Session共享一个Bean实例。

1、Spring容器可以管理singleton作用域下Bean的生命周期,在此作用域下,Spring能够精确地知道Bean何时被创建,何时初始化完成,以及何时被销毁。

2、对于prototype作用域的Bean,Spring只负责创建,当容器创建了Bean的实例后,Bean的实例就交给了客户端的代码管理,Spring容器将不再跟踪其生命周期,并且不会管理那些被配置成prototype作用域的Bean的生命周期。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 2、BeanFactory是Spring容器中的一个基本类负责生产和管理bean。

3、FactoryBean是一个工厂Bean,可以生成某一个类型Bean实例,它最大的一个作用是:可以让我们自定义Bean的创建过程。

4、事实上, Spring提供了两种不同的容器:一种是最基本的BeanFactory,另一种是扩展的ApplicationContext

5、spring中的BeanFactory与ApplicationContext的作用和区别?

   1. BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。

  2. ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能。

  3、ApplicationContext的初始化和BeanFactory有一个重大的区别:

      BeanFactory在初始化容器时 并未实例化Bean, 直到第一次访问 某个Bean时才实例目标Bean;

 

     而ApplicationContext则在 初始化应用上下文 时就实例化所有的单实例的Bean。因此ApplicationContext的初始化时间会比BeanFactory稍长一些.

 

  

 

  


原文链接:https://www.cnblogs.com/lgg20/p/12321193.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Tree

下一篇:分布式一致性读书笔记