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"时, /
  • 相关阅读:
    第四届图灵赛A题谷神的赌博游戏
    poj1562DFS
    数组-03. 冒泡法排序(20)
    数组-02. 打印杨辉三角(20)
    数组-01. 字符转换(15)
    循环-28. 求给定序列前N项和之六(15)
    循环-27. 求给定序列前N项和之五(15)
    循环-26. 求给定序列前N项和之四(15)
    循环-25. 求给定序列前N项和之三(15)
    循环-24. 求给定序列前N项和之二(15)
  • 原文地址:https://www.cnblogs.com/wangchao422/p/9646977.html
Copyright © 2011-2022 走看看