zoukankan      html  css  js  c++  java
  • Bean的作用域范围

    bean的生命周期: 1. 在spring ioc容器(ApplicationContext)加载spring配置文件的时候,就会立即实例化bean 这样,在客户端向ioc容器多次索取同一个bean时,得到的总是同一个实例 2. 在bean实例化之后,就调用bean元素的init-method属性指定的bean的方法 3. 在spring ioc容器即将被关闭的时候,就会调用bean元素的destroy-method指定的方法. bean的作用域: scope 默认值就是 singleton 1.singleton 单例 此时,bean的生命周期就是默认的情况,与上面一致 1. 在spring ioc容器(ApplicationContext)加载spring配置文件的时候,就会立即实例化bean 这样,在客户端向ioc容器多次索取同一个bean时,得到的总是同一个实例 2. 在bean实例化之后,就调用bean元素的init-method属性指定的bean的方法 3. 在spring ioc容器即将被关闭的时候,就会调用bean元素的destroy-method指定的方法. 2.prototype 多例 保证每次获取bean的时候,都是现场直接实例化! 此时生命周期发生变化,bean的生命周期: 1. 在spring ioc容器(ApplicationContext)加载spring配置文件的时候,不会实例化bean了 而是每次获取bean的时候,都实例化 2. 在bean实例化之后,就调用bean元素的init-method属性指定的bean的方法 3. 在spring ioc容器即将被关闭的时候,就会调用bean元素的destroy-method指定的方法. 3.request 请求范围 web项目中 4.session 会话范围 web项目中 lazy-init对bean实例化的作用:延迟实例化: 1. 当scope取值为singleton时 且lazy-init="false"时, bean就在spring ioc容器加载配置文件时,直接实例化。 2. 当scope取值为singleton时 且lazy-init="true"时, bean就在spring ioc容器加载配置文件时,不会实例化。 直接第一次getBean的时候,才实例化 以后第二次getBean的时候,不实例化 以后第三次getBean的时候,不实例化 以后第四次getBean的时候,不实例化 ======================================================= 1. 当scope取值为prototype时 且lazy-init="false"时, ------> 在加载配置文件时,都不会实例化,总是在每次getBean的时候,都实例化bean 2. 当scope取值为prototype时 且lazy-init="true"时, /
  • 相关阅读:
    内置函数
    递归函数:
    函数(迭代器与生成器)
    函数的装饰器
    函数:(函数的名字,闭包)
    函数(命名空间,作用域,嵌套)
    函数:(定义,调用,返回值和参数)
    hdu 4267 A Simple Problem with Integers(线段树)
    hdu 2089 不要62 hdu 3555 Bomb (数位DP)
    poj 2955 Brackets (区间DP)
  • 原文地址:https://www.cnblogs.com/wangchao422/p/9646977.html
Copyright © 2011-2022 走看看